You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@netbeans.apache.org by Jerome Lelasseux <le...@yahoo.com.INVALID> on 2023/05/15 20:26:03 UTC

Migrating NB platform app to maven

I try to migrate my Ant-based NB platform app (~70 modules) to Maven, but I'm new to Maven, so forgive the newbie question.

I created a new empty NB platform app with a sample module from the NB wizard, then I built from there. I used https://github.com/gephi/gephi  on GitHub as a kind of model.
So now I have my parent project, the app project, the branding project and all my modules. I checked the various pom.xml. Running "mvn validate" is a success, and the projects structure in the IDE is OK.

BUT... I can't build ! Using "BUild with dependencies" on the app project, I get error messages like:

The POM for org.jjazz:org.jjazz.utilities:jar:1.0-SNAPSHOT is missing, no dependency information available
The POM for org.netbeans.api:org.openide.actions:jar:RELEASE170 is missing, no dependency information available...

Using the "Solve project problems" menu, I understood that the dependencies are not found because they are not available in my local repository. But to be in the repository I need to compile the module, which depends on other modules etc... The only modules I was able to compile are the few ones with no dependencies at all, so only those were copied in the local repository.

I expected Maven (or rather the reactor plugin) to parse the module dependency tree and infer the appropriate compilation order, like Ant did... 
What do I miss ? 


Jerome
PS: I used a bash script to automate the migration process as much as possible. When I'm done I'll be happy to share it -there is not much info on the web...






Re: Migrating NB platform app to maven

Posted by Jerome Lelasseux <le...@yahoo.com.INVALID>.
 I answer my own question about the equivalent in Maven of the Ant release/modules directory.
Use the nbmResources parameter of the nbm goal of the nbm plugin.  https://bits.netbeans.org/mavenutilities/nbm-maven-plugin/nbm-maven-plugin/nbm-mojo.html#nbmResources

Jerome



    Le jeudi 18 mai 2023 à 23:17:59 UTC+2, Jerome Lelasseux <le...@yahoo.com.invalid> a écrit :  
 
  What is the recommended way to bundle native libs in a module with Maven ? 

With Ant I just put the libs in <module>/release/modules/xx and I was able to find them via InstalledFileLocator.getDefault().locate().
Jerome
PS: I finally managed to run my app with Maven. I'll publish my migration script soon, it was a good way to start learning Maven



    Le mardi 16 mai 2023 à 18:52:55 UTC+2, Jerome Lelasseux <le...@yahoo.com.invalid> a écrit :  
 
  Thank you  Eric, indeed my migration script mixed up . and -, and I also spotted some wrong ArtefactId references... I'll fix it! 

Jerome



    Le mardi 16 mai 2023 à 14:56:06 UTC+2, Eric Barboni <sk...@apache.org> a écrit :  
 
 Hi Jerome,

It seems that your artefactID from NetBeans are wrong

Should be org-openide-loaders and not org.openide.loader

Not sure how your pom is configured, but for artefact from NetBeans remove the explicit jar type.

Typical dep looks like that not less not more (.. infact version could be set by bom setup to save time in upgrade to anticipated RELEASE180 :p)
<dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-loaders</artifactId>
            <version>RELEASE170</version>
        </dependency>


Best Regards
Eric

-----Message d'origine-----
De : Tom Eicher <te...@teicher.net> 
Envoyé : mardi 16 mai 2023 13:08
À : NetBeans Mailing List <us...@netbeans.apache.org>
Objet : Re: Migrating NB platform app to maven


Hi Jerome, I would be really interested in this script. Cheers Tom.

Am 16.05.23 um 00:01 schrieb Jerome Lelasseux:
> PS: I used a bash script to automate the migration process as much as 
> possible. When I'm done I'll be happy to share it -there is not much 
> info on the web...


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@netbeans.apache.org
For additional commands, e-mail: users-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@netbeans.apache.org
For additional commands, e-mail: users-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

      

Re: Migrating NB platform app to maven

Posted by Jerome Lelasseux <le...@yahoo.com.INVALID>.
 What is the recommended way to bundle native libs in a module with Maven ? 

With Ant I just put the libs in <module>/release/modules/xx and I was able to find them via InstalledFileLocator.getDefault().locate().
Jerome
PS: I finally managed to run my app with Maven. I'll publish my migration script soon, it was a good way to start learning Maven



    Le mardi 16 mai 2023 à 18:52:55 UTC+2, Jerome Lelasseux <le...@yahoo.com.invalid> a écrit :  
 
  Thank you  Eric, indeed my migration script mixed up . and -, and I also spotted some wrong ArtefactId references... I'll fix it! 

Jerome



    Le mardi 16 mai 2023 à 14:56:06 UTC+2, Eric Barboni <sk...@apache.org> a écrit :  
 
 Hi Jerome,

It seems that your artefactID from NetBeans are wrong

Should be org-openide-loaders and not org.openide.loader

Not sure how your pom is configured, but for artefact from NetBeans remove the explicit jar type.

Typical dep looks like that not less not more (.. infact version could be set by bom setup to save time in upgrade to anticipated RELEASE180 :p)
<dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-loaders</artifactId>
            <version>RELEASE170</version>
        </dependency>


Best Regards
Eric

-----Message d'origine-----
De : Tom Eicher <te...@teicher.net> 
Envoyé : mardi 16 mai 2023 13:08
À : NetBeans Mailing List <us...@netbeans.apache.org>
Objet : Re: Migrating NB platform app to maven


Hi Jerome, I would be really interested in this script. Cheers Tom.

Am 16.05.23 um 00:01 schrieb Jerome Lelasseux:
> PS: I used a bash script to automate the migration process as much as 
> possible. When I'm done I'll be happy to share it -there is not much 
> info on the web...


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@netbeans.apache.org
For additional commands, e-mail: users-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@netbeans.apache.org
For additional commands, e-mail: users-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

    

Re: Migrating NB platform app to maven

Posted by Jerome Lelasseux <le...@yahoo.com.INVALID>.
 Thank you  Eric, indeed my migration script mixed up . and -, and I also spotted some wrong ArtefactId references... I'll fix it! 

Jerome



    Le mardi 16 mai 2023 à 14:56:06 UTC+2, Eric Barboni <sk...@apache.org> a écrit :  
 
 Hi Jerome,

It seems that your artefactID from NetBeans are wrong

Should be org-openide-loaders and not org.openide.loader

Not sure how your pom is configured, but for artefact from NetBeans remove the explicit jar type.

Typical dep looks like that not less not more (.. infact version could be set by bom setup to save time in upgrade to anticipated RELEASE180 :p)
<dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-loaders</artifactId>
            <version>RELEASE170</version>
        </dependency>


Best Regards
Eric

-----Message d'origine-----
De : Tom Eicher <te...@teicher.net> 
Envoyé : mardi 16 mai 2023 13:08
À : NetBeans Mailing List <us...@netbeans.apache.org>
Objet : Re: Migrating NB platform app to maven


Hi Jerome, I would be really interested in this script. Cheers Tom.

Am 16.05.23 um 00:01 schrieb Jerome Lelasseux:
> PS: I used a bash script to automate the migration process as much as 
> possible. When I'm done I'll be happy to share it -there is not much 
> info on the web...


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@netbeans.apache.org
For additional commands, e-mail: users-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@netbeans.apache.org
For additional commands, e-mail: users-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

  

RE: Migrating NB platform app to maven

Posted by Eric Barboni <sk...@apache.org>.
Hi Jerome,

It seems that your artefactID from NetBeans are wrong

Should be org-openide-loaders and not org.openide.loader

Not sure how your pom is configured, but for artefact from NetBeans remove the explicit jar type.

Typical dep looks like that not less not more (.. infact version could be set by bom setup to save time in upgrade to anticipated RELEASE180 :p)
<dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-loaders</artifactId>
            <version>RELEASE170</version>
        </dependency>


Best Regards
Eric

-----Message d'origine-----
De : Tom Eicher <te...@teicher.net> 
Envoyé : mardi 16 mai 2023 13:08
À : NetBeans Mailing List <us...@netbeans.apache.org>
Objet : Re: Migrating NB platform app to maven


Hi Jerome, I would be really interested in this script. Cheers Tom.

Am 16.05.23 um 00:01 schrieb Jerome Lelasseux:
> PS: I used a bash script to automate the migration process as much as 
> possible. When I'm done I'll be happy to share it -there is not much 
> info on the web...


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@netbeans.apache.org
For additional commands, e-mail: users-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists



---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@netbeans.apache.org
For additional commands, e-mail: users-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: Migrating NB platform app to maven

Posted by Tom Eicher <te...@teicher.net>.
Hi Jerome, I would be really interested in this script. Cheers Tom.

Am 16.05.23 um 00:01 schrieb Jerome Lelasseux:
> PS: I used a bash script to automate the migration process as much as 
> possible. When I'm done I'll be happy to share it -there is not much 
> info on the web...


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@netbeans.apache.org
For additional commands, e-mail: users-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: Migrating NB platform app to maven

Posted by Jerome Lelasseux <le...@yahoo.com.INVALID>.
 Gary,
The errors are the same for all my modules which have dependencies.  For example below is the output of a "Build with Dependencies" on the parent project:
Module Base build fails because the inter-module dependency FileDirectoryManager is missing. If I try to build FileDirectoryManager, I have the same kind of errors but with FileDirectoryManager own dependencies...


cd D:\JeromeDocs\NetBeansProjects\JJazzLab; "JAVA_HOME=C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.4.1+1" cmd /c "\"C:\\Users\\Jerome\\Progs\\Netbeans 17\\java\\maven\\bin\\mvn.cmd\" \"-Dmaven.ext.class.path=C:\\Users\\Jerome\\Progs\\Netbeans 17\\java\\maven-nblib\\netbeans-eventspy.jar\" install"
Scanning for projects...
------------------------------------------------------------------------
Reactor Build Order:

jjazzlab                                                           [pom]
jjazzlab-branding                                                  [nbm]
Base                                                               [nbm]
ActiveSong                                                         [nbm]
Arranger                                                           [nbm]
BackgroundSongMusicBuilder                                         [nbm]
ChordInspector                                                     [nbm]
ChordSymbolTextInput                                               [nbm]
EasyReader                                                         [nbm]
Guava                                                              [nbm]
ImprovisationSupport                                               [nbm]
EmbeddedSynth                                                      [nbm]
Phrase                                                             [nbm]
PhraseTransform                                                    [nbm]
PianoRoll                                                          [nbm]
RpCustomEditorFactoryImpl                                          [nbm]
SongContext                                                        [nbm]
TestPlayerService                                                  [nbm]
InstrumentComponents                                               [nbm]
Score                                                              [nbm]
UISettings                                                         [nbm]
Helpers                                                            [nbm]
FileDirectoryManager                                               [nbm]
Importers                                                          [nbm]
InstrumentChooser                                                  [nbm]
MidiMix                                                            [nbm]
MusicControl                                                       [nbm]
OutputSynth                                                        [nbm]
PopupWindowMenuPatch                                               [nbm]
Print                                                              [nbm]
RhythmStubs                                                        [nbm]
SongEditorManager                                                  [nbm]
SongMemoViewer                                                     [nbm]
SongStructure                                                      [nbm]
RhythmMusicGeneration                                              [nbm]
RhythmSelectionDialog                                              [nbm]
FlatComponents                                                     [nbm]
MixConsole                                                         [nbm]
MusicControlActions                                                [nbm]
SS_Editor                                                          [nbm]
SptEditor                                                          [nbm]
ZoomableSliders                                                    [nbm]
Upgrade                                                            [nbm]
XOM                                                                [nbm]
Xstream                                                            [nbm]
Startup                                                            [nbm]
Analytics                                                          [nbm]
Biab                                                               [nbm]
Harmony                                                            [nbm]
ChordLeadSheet                                                     [nbm]
Options                                                            [nbm]
Quantizer                                                          [nbm]
RhythmDatabase                                                     [nbm]
CL_Editor                                                          [nbm]
ColorSetManager                                                    [nbm]
ItemRenderer                                                       [nbm]
UIUtilities                                                        [nbm]
UndoManager                                                        [nbm]
Utilities                                                          [nbm]
Diff                                                               [nbm]
FluidSynthEmbeddedSynth                                            [nbm]
FluidSynthJava                                                     [nbm]
YamJJazz                                                           [nbm]
YjzCreator                                                         [nbm]
jjazzlab-app                                           [nbm-application]
BaseSimple                                                         [nbm]

---------------------< org.jjazz:jjazzlab-parent >----------------------
Building jjazzlab 1.0-SNAPSHOT                                    [1/66]
--------------------------------[ pom ]---------------------------------

--- maven-install-plugin:2.4:install (default-install) @ jjazzlab-parent ---
Installing D:\JeromeDocs\NetBeansProjects\JJazzLab\pom.xml to C:\Users\Jerome\.m2\repository\org\jjazz\jjazzlab-parent\1.0-SNAPSHOT\jjazzlab-parent-1.0-SNAPSHOT.pom

--------------------< org.jjazz:jjazzlab-branding >---------------------
Building jjazzlab-branding 1.0-SNAPSHOT                           [2/66]
--------------------------------[ nbm ]---------------------------------

--- maven-resources-plugin:3.3.1:resources (default-resources) @ jjazzlab-branding ---
Copying 1 resource from src\main\resources to target\classes

--- maven-compiler-plugin:3.11.0:compile (default-compile) @ jjazzlab-branding ---
No sources to compile

--- nbm-maven-plugin:4.8:manifest (default-manifest) @ jjazzlab-branding ---
NBM Plugin generates manifest

--- maven-resources-plugin:3.3.1:testResources (default-testResources) @ jjazzlab-branding ---
skip non existing resourceDirectory D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\src\test\resources

--- maven-compiler-plugin:3.11.0:testCompile (default-testCompile) @ jjazzlab-branding ---
No sources to compile

--- maven-surefire-plugin:3.1.0:test (default-test) @ jjazzlab-branding ---

--- maven-jar-plugin:3.3.0:jar (default-jar) @ jjazzlab-branding ---
Building jar: D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\jjazzlab-branding-1.0-SNAPSHOT.jar

--- nbm-maven-plugin:4.8:branding (default-branding) @ jjazzlab-branding ---
Building jar: D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\nbm\clusters\jjazzlab\core\locale\core_jjazzlab.jar
Building jar: D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\nbm\clusters\jjazzlab\modules\locale\org-netbeans-core-windows_jjazzlab.jar
Building jar: D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\nbm\clusters\jjazzlab\modules\locale\org-netbeans-core_jjazzlab.jar

--- nbm-maven-plugin:4.8:nbm (default-nbm) @ jjazzlab-branding ---
Copying module JAR to D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\nbm\clusters\jjazzlab\modules
Generating Auto Update information for org.jjazz.jjazzlab.branding
No updater.jar specified, cannot validate Info.xml against DTD
Building jar: D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\nbm\jjazzlab-branding-1.0-SNAPSHOT.nbm

--- maven-install-plugin:3.1.1:install (default-install) @ jjazzlab-branding ---
Installing D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\pom.xml to C:\Users\Jerome\.m2\repository\org\jjazz\jjazzlab-branding\1.0-SNAPSHOT\jjazzlab-branding-1.0-SNAPSHOT.pom
Installing D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\jjazzlab-branding-1.0-SNAPSHOT.jar to C:\Users\Jerome\.m2\repository\org\jjazz\jjazzlab-branding\1.0-SNAPSHOT\jjazzlab-branding-1.0-SNAPSHOT.jar
Installing D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\jjazzlab-branding-1.0-SNAPSHOT.nbm to C:\Users\Jerome\.m2\repository\org\jjazz\jjazzlab-branding\1.0-SNAPSHOT\jjazzlab-branding-1.0-SNAPSHOT.nbm

---------------------------< org.jjazz:Base >---------------------------
Building Base 1.0-SNAPSHOT                                        [3/66]
--------------------------------[ nbm ]---------------------------------
The POM for org.jjazz:org.jjazz.filedirectorymanager:jar:1.0-SNAPSHOT is missing, no dependency information available
The POM for org.jjazz:org.jjazz.utilities:jar:1.0-SNAPSHOT is missing, no dependency information available
The POM for org.netbeans.api:org.netbeans.modules.autoupdate.services:jar:RELEASE170 is missing, no dependency information available
The POM for org.netbeans.api:org.openide.actions:jar:RELEASE170 is missing, no dependency information available
The POM for org.netbeans.api:org.openide.dialogs:jar:RELEASE170 is missing, no dependency information available
The POM for org.netbeans.api:org.openide.filesystems:jar:RELEASE170 is missing, no dependency information available
The POM for org.netbeans.api:org.openide.io:jar:RELEASE170 is missing, no dependency information available
The POM for org.netbeans.api:org.openide.loaders:jar:RELEASE170 is missing, no dependency information available
The POM for org.netbeans.api:org.openide.modules:jar:RELEASE170 is missing, no dependency information available
------------------------------------------------------------------------
Reactor Summary for jjazzlab 1.0-SNAPSHOT:

jjazzlab ........................................... SUCCESS [  0.130 s]
jjazzlab-branding .................................. SUCCESS [  1.477 s]
Base ............................................... FAILURE [  0.052 s]
ActiveSong ......................................... SKIPPED
Arranger ........................................... SKIPPED
BackgroundSongMusicBuilder ......................... SKIPPED
ChordInspector ..................................... SKIPPED
ChordSymbolTextInput ............................... SKIPPED
EasyReader ......................................... SKIPPED
Guava .............................................. SKIPPED
ImprovisationSupport ............................... SKIPPED
EmbeddedSynth ...................................... SKIPPED
Phrase ............................................. SKIPPED
PhraseTransform .................................... SKIPPED
PianoRoll .......................................... SKIPPED
RpCustomEditorFactoryImpl .......................... SKIPPED
SongContext ........................................ SKIPPED
TestPlayerService .................................. SKIPPED
InstrumentComponents ............................... SKIPPED
Score .............................................. SKIPPED
UISettings ......................................... SKIPPED
Helpers ............................................ SKIPPED
FileDirectoryManager ............................... SKIPPED
Importers .......................................... SKIPPED
InstrumentChooser .................................. SKIPPED
MidiMix ............................................ SKIPPED
MusicControl ....................................... SKIPPED
OutputSynth ........................................ SKIPPED
PopupWindowMenuPatch ............................... SKIPPED
Print .............................................. SKIPPED
RhythmStubs ........................................ SKIPPED
SongEditorManager .................................. SKIPPED
SongMemoViewer ..................................... SKIPPED
SongStructure ...................................... SKIPPED
RhythmMusicGeneration .............................. SKIPPED
RhythmSelectionDialog .............................. SKIPPED
FlatComponents ..................................... SKIPPED
MixConsole ......................................... SKIPPED
MusicControlActions ................................ SKIPPED
SS_Editor .......................................... SKIPPED
SptEditor .......................................... SKIPPED
ZoomableSliders .................................... SKIPPED
Upgrade ............................................ SKIPPED
XOM ................................................ SKIPPED
Xstream ............................................ SKIPPED
Startup ............................................ SKIPPED
Analytics .......................................... SKIPPED
Biab ............................................... SKIPPED
Harmony ............................................ SKIPPED
ChordLeadSheet ..................................... SKIPPED
Options ............................................ SKIPPED
Quantizer .......................................... SKIPPED
RhythmDatabase ..................................... SKIPPED
CL_Editor .......................................... SKIPPED
ColorSetManager .................................... SKIPPED
ItemRenderer ....................................... SKIPPED
UIUtilities ........................................ SKIPPED
UndoManager ........................................ SKIPPED
Utilities .......................................... SKIPPED
Diff ............................................... SKIPPED
FluidSynthEmbeddedSynth ............................ SKIPPED
FluidSynthJava ..................................... SKIPPED
YamJJazz ........................................... SKIPPED
YjzCreator ......................................... SKIPPED
jjazzlab-app ....................................... SKIPPED
BaseSimple ......................................... SKIPPED
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time:  2.610 s
Finished at: 2023-05-15T23:56:13+02:00
------------------------------------------------------------------------
Failed to execute goal on project Base: Could not resolve dependencies for project org.jjazz:Base:nbm:1.0-SNAPSHOT: The following artifacts could not be resolved: org.jjazz:org.jjazz.filedirectorymanager:jar:1.0-SNAPSHOT, org.jjazz:org.jjazz.utilities:jar:1.0-SNAPSHOT, org.netbeans.api:org.netbeans.modules.autoupdate.services:jar:RELEASE170, org.netbeans.api:org.openide.actions:jar:RELEASE170, org.netbeans.api:org.openide.dialogs:jar:RELEASE170, org.netbeans.api:org.openide.filesystems:jar:RELEASE170, org.netbeans.api:org.openide.io:jar:RELEASE170, org.netbeans.api:org.openide.loaders:jar:RELEASE170, org.netbeans.api:org.openide.modules:jar:RELEASE170: Could not find artifact org.jjazz:org.jjazz.filedirectorymanager:jar:1.0-SNAPSHOT -> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.

For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

After correcting the problems, you can resume the build with the command
  mvn <args> -rf :Base


    Le lundi 15 mai 2023 à 23:33:00 UTC+2, Greenberg, Gary <gg...@visa.com.invalid> a écrit :  
 
 
You have provided POM file for your top level project and POM files for two modules: application and ActiveSong. Your error message says that it can’t find POM fororg.jjazz:org.jjazz.utilities
 
Check your Utilities module.
 
  
 
From: Jerome Lelasseux <le...@yahoo.com.INVALID> 
Sent: Monday, May 15, 2023 1:48 PM
To: users@netbeans.apache.org; Greenberg, Gary <gg...@visa.com.INVALID>
Subject: Re: Migrating NB platform app to maven
 
  
 
The pom files...
 
  
 
========================
 
./pom.xml
 
  
 
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.jjazz</groupId>
    <artifactId>jjazzlab-parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>jjazzlab</name>
                       
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.netbeans.utilities</groupId>
                    <artifactId>nbm-maven-plugin</artifactId>
                    <version>4.8</version>
                    <extensions>true</extensions>
                    <configuration>
                        <brandingToken>${brandingToken}</brandingToken>
                        <cluster>${brandingToken}</cluster>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.11.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    <modules>
        <module>branding</module>
        <module>application</module>
        <module>modules/Base</module>
        <module>modules/BaseSimple</module>
        <module>modules/ChordInspector</module>
        <module>modules/ActiveSong</module>
        <module>modules/Arranger</module>
        <module>modules/BackgroundSongMusicBuilder</module>
        <module>modules/ChordSymbolTextInput</module>
        <module>modules/EasyReader</module>
        <module>modules/Guava</module>
        <module>modules/ImprovisationSupport</module>
        <module>modules/EmbeddedSynth</module>
        <module>modules/Phrase</module>
        <module>modules/PhraseTransform</module>
        <module>modules/PianoRoll</module>
        <module>modules/RpCustomEditorFactoryImpl</module>
        <module>modules/SongContext</module>
        <module>modules/TestPlayerService</module>
        <module>modules/InstrumentComponents</module>
        <module>modules/Score</module>
        <module>modules/UISettings</module>
        <module>modules/Helpers</module>
        <module>modules/FileDirectoryManager</module>
        <module>modules/Importers</module>
        <module>modules/InstrumentChooser</module>
        <module>modules/MidiMix</module>
        <module>modules/MusicControl</module>
        <module>modules/OutputSynth</module>
        <module>modules/PopupWindowMenuPatch</module>
        <module>modules/Print</module>
        <module>modules/RhythmStubs</module>
        <module>modules/SongEditorManager</module>
        <module>modules/SongMemoViewer</module>
        <module>modules/SongStructure</module>
        <module>modules/RhythmMusicGeneration</module>
        <module>modules/RhythmSelectionDialog</module>
        <module>modules/FlatComponents</module>
        <module>modules/MixConsole</module>
        <module>modules/MusicControlActions</module>
        <module>modules/SS_Editor</module>
        <module>modules/SptEditor</module>
        <module>modules/ZoomableSliders</module>
        <module>modules/Upgrade</module>
        <module>modules/XOM</module>
        <module>modules/Xstream</module>
        <module>modules/Startup</module>
        <module>modules/Analytics</module>
        <module>modules/Biab</module>
        <module>modules/Harmony</module>
        <module>modules/ChordLeadSheet</module>
        <module>modules/Options</module>
        <module>modules/Quantizer</module>
        <module>modules/RhythmDatabase</module>
        <module>modules/CL_Editor</module>
        <module>modules/ColorSetManager</module>
        <module>modules/ItemRenderer</module>
        <module>modules/UIUtilities</module>
        <module>modules/UndoManager</module>
        <module>modules/Utilities</module>
        <module>modules/Diff</module>
        <module>modules/FluidSynthEmbeddedSynth</module>
        <module>modules/FluidSynthJava</module>
        <module>modules/YamJJazz</module>
        <module>modules/YjzCreator</module>
    </modules>
    <properties>
        <netbeans.version>RELEASE170</netbeans.version>
        <brandingToken>jjazzlab</brandingToken>
        <maven.compiler.release>17</maven.compiler.release>        
    </properties>
</project>
 
=====================
 
./application/pom.xml
 
  
 
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.jjazz</groupId>
        <artifactId>jjazzlab-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <artifactId>jjazzlab</artifactId>
    <packaging>nbm-application</packaging>
    <name>jjazzlab-app</name>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <all.clusters>${project.build.directory}/${brandingToken}</all.clusters>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.netbeans.cluster</groupId>
            <artifactId>platform</artifactId>
            <version>${netbeans.version}</version>
            <type>pom</type>
            <exclusions>
                <exclusion>
                    <artifactId>org-jdesktop-layout</artifactId>
                    <groupId>org.netbeans.api</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>org-netbeans-api-search</artifactId>
                    <groupId>org.netbeans.api</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>org-netbeans-api-visual</artifactId>
                    <groupId>org.netbeans.api</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>jjazzlab-branding</artifactId>
            <version>${project.version}</version>
        </dependency>
        <!-- NbModuleSuite functional in RELEASE70 or later: -->
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-netbeans-modules-nbjunit</artifactId>
            <version>${netbeans.version}</version>
            <scope>test</scope>
            <!-- beyond platform cluster, this often needs to be dropped down to compile/runtime, some other modules in IDE clusters depend on it -->
        </dependency>
        <!-- To use Jelly Tools in your functional tests, add or replace with:
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-netbeans-modules-jellytools-platform</artifactId>
            <version>${netbeans.version}</version>
            <scope>test</scope>
        </dependency>
        -->
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Base</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ActiveSong</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Arranger</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>BackgroundSongMusicBuilder</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ChordInspector</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ChordSymbolTextInput</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>EasyReader</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Guava</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ImprovisationSupport</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>EmbeddedSynth</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Phrase</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>PhraseTransform</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>PianoRoll</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RpCustomEditorFactoryImpl</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SongContext</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>TestPlayerService</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>InstrumentComponents</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Score</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>UISettings</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Helpers</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>FileDirectoryManager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Importers</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>InstrumentChooser</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>MidiMix</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>MusicControl</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>OutputSynth</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>PopupWindowMenuPatch</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Print</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RhythmStubs</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SongEditorManager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SongMemoViewer</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SongStructure</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RhythmMusicGeneration</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RhythmSelectionDialog</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>FlatComponents</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>MixConsole</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>MusicControlActions</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SS_Editor</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SptEditor</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ZoomableSliders</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Upgrade</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>XOM</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Xstream</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Startup</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Analytics</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Biab</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Harmony</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ChordLeadSheet</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Options</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Quantizer</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RhythmDatabase</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>CL_Editor</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ColorSetManager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ItemRenderer</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>UIUtilities</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>UndoManager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Utilities</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Diff</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>FluidSynthEmbeddedSynth</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>FluidSynthJava</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>YamJJazz</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>YjzCreator</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.netbeans.utilities</groupId>
                <artifactId>nbm-maven-plugin</artifactId>
            </plugin>
            <!-- Permits NbModuleSuite to be run in integration-test phase: -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12.2</version>
                <configuration>
                    <systemPropertyVariables>
                        <all.clusters>${all.clusters}</all.clusters>
                        <branding.token>${brandingToken}</branding.token>
                    </systemPropertyVariables>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>deployment</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.netbeans.utilities</groupId>
                        <artifactId>nbm-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>extra</id>
                                <goals>
                                    <goal>autoupdate</goal>
                                    <goal>webstart-app</goal>
                                    <goal>build-installers</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
 
  
 
  
 
=============================
 
modules/ActiveSong/pom.xml
 
  
 
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.jjazz</groupId>
        <artifactId>jjazzlab-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../../pom.xml</relativePath>
    </parent>
    <artifactId>ActiveSong</artifactId>
    <packaging>nbm</packaging>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.netbeans.utilities</groupId>
                <artifactId>nbm-maven-plugin</artifactId>
                <configuration>
                    <publicPackages>                      
                        <publicPackage>org.jjazz.activesong.api</publicPackage>
                    </publicPackages>
                </configuration>
                <extensions>true</extensions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-netbeans-api-annotations-common</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-windows</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-util</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-util-ui</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-util-lookup</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-awt</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-netbeans-modules-settings</artifactId>
            <version>${netbeans.version}</version>
        </dependency>        
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.chordleadsheet</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.midi</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.midimix</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.musiccontrol</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.outputsynth</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.rhythm</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.rhythmmusicgeneration</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.song</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.songcontext</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.songstructure</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.utilities</artifactId> 
            <version>${project.version}</version>  
        </dependency> 
    </dependencies>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
</project>
 
  
 
  
 
  
 
Le lundi 15 mai 2023 à 22:40:56 UTC+2, Greenberg, Gary <gg...@visa.com.invalid> a écrit :
 
  
 
  
 
You should provide your POM file here. Than we’ll be able to help you.
 
 
 
From: Jerome Lelasseux <le...@yahoo.com.INVALID>
Sent: Monday, May 15, 2023 1:26 PM
To: NetBeans Mailing List <us...@netbeans.apache.org>
Subject: Migrating NB platform app to maven
 
 
 
I try to migrate my Ant-based NB platform app (~70 modules) to Maven, but I'm new to Maven, so forgive the newbie question.
 
 
 
 
 
I created a new empty NB platform app with a sample module from the NB wizard, then I built from there. I usedhttps://github.com/gephi/gephi  on GitHub as a kind of model.
 
 
 
So now I have my parent project, the app project, the branding project and all my modules. I checked the various pom.xml. Running "mvn validate" is a success, and the projects structure in the IDE is OK.
 
 
 
BUT... I can't build ! Using "BUild with dependencies" on the app project, I get error messages like:
 
 
 
The POM for org.jjazz:org.jjazz.utilities:jar:1.0-SNAPSHOT is missing, no dependency information available
 
The POM for org.netbeans.api:org.openide.actions:jar:RELEASE170 is missing, no dependency information available
 
...
 
 
 
Using the "Solve project problems" menu, I understood that the dependencies are not found because they are not available in my local repository. But to be in the repository I need to compile the module, which depends on other modules etc... The only modules I was able to compile are the few ones with no dependencies at all, so only those were copied in the local repository.
 
 
 
I expected Maven (or rather the reactor plugin) to parse the module dependency tree and infer the appropriate compilation order, like Ant did... 
 
 
 
What do I miss ?
 
 
 
 
 
 
 
Jerome
 
 
 
PS: I used a bash script to automate the migration process as much as possible. When I'm done I'll be happy to share it -there is not much info on the web...
 
 
 
 
 
 
 
 
 
 
   

RE: Migrating NB platform app to maven

Posted by "Greenberg, Gary" <gg...@visa.com.INVALID>.
You have provided POM file for your top level project and POM files for two modules: application and ActiveSong. Your error message says that it can't find POM for org.jjazz:org.jjazz.utilities
Check your Utilities module.

From: Jerome Lelasseux <le...@yahoo.com.INVALID>
Sent: Monday, May 15, 2023 1:48 PM
To: users@netbeans.apache.org; Greenberg, Gary <gg...@visa.com.INVALID>
Subject: Re: Migrating NB platform app to maven

The pom files...

========================
./pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd<http://maven.apache.org/POM/4.0.0%20http:/maven.apache.org/xsd/maven-4.0.0.xsd>">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.jjazz</groupId>
    <artifactId>jjazzlab-parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>jjazzlab</name>

    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.netbeans.utilities</groupId>
                    <artifactId>nbm-maven-plugin</artifactId>
                    <version>4.8</version>
                    <extensions>true</extensions>
                    <configuration>
                        <brandingToken>${brandingToken}</brandingToken>
                        <cluster>${brandingToken}</cluster>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.11.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    <modules>
        <module>branding</module>
        <module>application</module>
        <module>modules/Base</module>
        <module>modules/BaseSimple</module>
        <module>modules/ChordInspector</module>
        <module>modules/ActiveSong</module>
        <module>modules/Arranger</module>
        <module>modules/BackgroundSongMusicBuilder</module>
        <module>modules/ChordSymbolTextInput</module>
        <module>modules/EasyReader</module>
        <module>modules/Guava</module>
        <module>modules/ImprovisationSupport</module>
        <module>modules/EmbeddedSynth</module>
        <module>modules/Phrase</module>
        <module>modules/PhraseTransform</module>
        <module>modules/PianoRoll</module>
        <module>modules/RpCustomEditorFactoryImpl</module>
        <module>modules/SongContext</module>
        <module>modules/TestPlayerService</module>
        <module>modules/InstrumentComponents</module>
        <module>modules/Score</module>
        <module>modules/UISettings</module>
        <module>modules/Helpers</module>
        <module>modules/FileDirectoryManager</module>
        <module>modules/Importers</module>
        <module>modules/InstrumentChooser</module>
        <module>modules/MidiMix</module>
        <module>modules/MusicControl</module>
        <module>modules/OutputSynth</module>
        <module>modules/PopupWindowMenuPatch</module>
        <module>modules/Print</module>
        <module>modules/RhythmStubs</module>
        <module>modules/SongEditorManager</module>
        <module>modules/SongMemoViewer</module>
        <module>modules/SongStructure</module>
        <module>modules/RhythmMusicGeneration</module>
        <module>modules/RhythmSelectionDialog</module>
        <module>modules/FlatComponents</module>
        <module>modules/MixConsole</module>
        <module>modules/MusicControlActions</module>
        <module>modules/SS_Editor</module>
        <module>modules/SptEditor</module>
        <module>modules/ZoomableSliders</module>
        <module>modules/Upgrade</module>
        <module>modules/XOM</module>
        <module>modules/Xstream</module>
        <module>modules/Startup</module>
        <module>modules/Analytics</module>
        <module>modules/Biab</module>
        <module>modules/Harmony</module>
        <module>modules/ChordLeadSheet</module>
        <module>modules/Options</module>
        <module>modules/Quantizer</module>
        <module>modules/RhythmDatabase</module>
        <module>modules/CL_Editor</module>
        <module>modules/ColorSetManager</module>
        <module>modules/ItemRenderer</module>
        <module>modules/UIUtilities</module>
        <module>modules/UndoManager</module>
        <module>modules/Utilities</module>
        <module>modules/Diff</module>
        <module>modules/FluidSynthEmbeddedSynth</module>
        <module>modules/FluidSynthJava</module>
        <module>modules/YamJJazz</module>
        <module>modules/YjzCreator</module>
    </modules>
    <properties>
        <netbeans.version>RELEASE170</netbeans.version>
        <brandingToken>jjazzlab</brandingToken>
        <maven.compiler.release>17</maven.compiler.release>
    </properties>
</project>
=====================
./application/pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd<http://maven.apache.org/POM/4.0.0%20http:/maven.apache.org/xsd/maven-4.0.0.xsd>">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.jjazz</groupId>
        <artifactId>jjazzlab-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <artifactId>jjazzlab</artifactId>
    <packaging>nbm-application</packaging>
    <name>jjazzlab-app</name>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <all.clusters>${project.build.directory}/${brandingToken}</all.clusters>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.netbeans.cluster</groupId>
            <artifactId>platform</artifactId>
            <version>${netbeans.version}</version>
            <type>pom</type>
            <exclusions>
                <exclusion>
                    <artifactId>org-jdesktop-layout</artifactId>
                    <groupId>org.netbeans.api</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>org-netbeans-api-search</artifactId>
                    <groupId>org.netbeans.api</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>org-netbeans-api-visual</artifactId>
                    <groupId>org.netbeans.api</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>jjazzlab-branding</artifactId>
            <version>${project.version}</version>
        </dependency>
        <!-- NbModuleSuite functional in RELEASE70 or later: -->
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-netbeans-modules-nbjunit</artifactId>
            <version>${netbeans.version}</version>
            <scope>test</scope>
            <!-- beyond platform cluster, this often needs to be dropped down to compile/runtime, some other modules in IDE clusters depend on it -->
        </dependency>
        <!-- To use Jelly Tools in your functional tests, add or replace with:
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-netbeans-modules-jellytools-platform</artifactId>
            <version>${netbeans.version}</version>
            <scope>test</scope>
        </dependency>
        -->
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Base</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ActiveSong</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Arranger</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>BackgroundSongMusicBuilder</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ChordInspector</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ChordSymbolTextInput</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>EasyReader</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Guava</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ImprovisationSupport</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>EmbeddedSynth</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Phrase</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>PhraseTransform</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>PianoRoll</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RpCustomEditorFactoryImpl</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SongContext</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>TestPlayerService</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>InstrumentComponents</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Score</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>UISettings</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Helpers</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>FileDirectoryManager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Importers</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>InstrumentChooser</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>MidiMix</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>MusicControl</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>OutputSynth</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>PopupWindowMenuPatch</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Print</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RhythmStubs</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SongEditorManager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SongMemoViewer</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SongStructure</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RhythmMusicGeneration</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RhythmSelectionDialog</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>FlatComponents</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>MixConsole</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>MusicControlActions</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SS_Editor</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SptEditor</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ZoomableSliders</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Upgrade</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>XOM</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Xstream</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Startup</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Analytics</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Biab</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Harmony</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ChordLeadSheet</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Options</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Quantizer</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RhythmDatabase</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>CL_Editor</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ColorSetManager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ItemRenderer</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>UIUtilities</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>UndoManager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Utilities</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Diff</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>FluidSynthEmbeddedSynth</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>FluidSynthJava</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>YamJJazz</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>YjzCreator</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.netbeans.utilities</groupId>
                <artifactId>nbm-maven-plugin</artifactId>
            </plugin>
            <!-- Permits NbModuleSuite to be run in integration-test phase: -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12.2</version>
                <configuration>
                    <systemPropertyVariables>
                        <all.clusters>${all.clusters}</all.clusters>
                        <branding.token>${brandingToken}</branding.token>
                    </systemPropertyVariables>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>deployment</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.netbeans.utilities</groupId>
                        <artifactId>nbm-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>extra</id>
                                <goals>
                                    <goal>autoupdate</goal>
                                    <goal>webstart-app</goal>
                                    <goal>build-installers</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>


=============================
modules/ActiveSong/pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd<http://maven.apache.org/POM/4.0.0%20http:/maven.apache.org/xsd/maven-4.0.0.xsd>">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.jjazz</groupId>
        <artifactId>jjazzlab-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../../pom.xml</relativePath>
    </parent>
    <artifactId>ActiveSong</artifactId>
    <packaging>nbm</packaging>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.netbeans.utilities</groupId>
                <artifactId>nbm-maven-plugin</artifactId>
                <configuration>
                    <publicPackages>
                        <publicPackage>org.jjazz.activesong.api</publicPackage>
                    </publicPackages>
                </configuration>
                <extensions>true</extensions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-netbeans-api-annotations-common</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-windows</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-util</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-util-ui</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-util-lookup</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-awt</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-netbeans-modules-settings</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>org.jjazz.chordleadsheet</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>org.jjazz.midi</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>org.jjazz.midimix</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>org.jjazz.musiccontrol</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>org.jjazz.outputsynth</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>org.jjazz.rhythm</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>org.jjazz.rhythmmusicgeneration</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>org.jjazz.song</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>org.jjazz.songcontext</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>org.jjazz.songstructure</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>org.jjazz.utilities</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
</project>



Le lundi 15 mai 2023 à 22:40:56 UTC+2, Greenberg, Gary <gg...@visa.com.invalid>> a écrit :



You should provide your POM file here. Than we'll be able to help you.



From: Jerome Lelasseux <le...@yahoo.com.INVALID>>
Sent: Monday, May 15, 2023 1:26 PM
To: NetBeans Mailing List <us...@netbeans.apache.org>>
Subject: Migrating NB platform app to maven



I try to migrate my Ant-based NB platform app (~70 modules) to Maven, but I'm new to Maven, so forgive the newbie question.





I created a new empty NB platform app with a sample module from the NB wizard, then I built from there. I used https://github.com/gephi/gephi  on GitHub as a kind of model.



So now I have my parent project, the app project, the branding project and all my modules. I checked the various pom.xml. Running "mvn validate" is a success, and the projects structure in the IDE is OK.



BUT... I can't build ! Using "BUild with dependencies" on the app project, I get error messages like:



The POM for org.jjazz:org.jjazz.utilities:jar:1.0-SNAPSHOT is missing, no dependency information available

The POM for org.netbeans.api:org.openide.actions:jar:RELEASE170 is missing, no dependency information available

...



Using the "Solve project problems" menu, I understood that the dependencies are not found because they are not available in my local repository. But to be in the repository I need to compile the module, which depends on other modules etc... The only modules I was able to compile are the few ones with no dependencies at all, so only those were copied in the local repository.



I expected Maven (or rather the reactor plugin) to parse the module dependency tree and infer the appropriate compilation order, like Ant did...



What do I miss ?







Jerome



PS: I used a bash script to automate the migration process as much as possible. When I'm done I'll be happy to share it -there is not much info on the web...











Re: Migrating NB platform app to maven

Posted by Jerome Lelasseux <le...@yahoo.com.INVALID>.
 The pom files...

========================./pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.jjazz</groupId>
    <artifactId>jjazzlab-parent</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <name>jjazzlab</name>
                       
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.netbeans.utilities</groupId>
                    <artifactId>nbm-maven-plugin</artifactId>
                    <version>4.8</version>
                    <extensions>true</extensions>
                    <configuration>
                        <brandingToken>${brandingToken}</brandingToken>
                        <cluster>${brandingToken}</cluster>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.11.0</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.3.0</version>
                </plugin>
            </plugins>
        </pluginManagement>
    </build>
    <modules>
        <module>branding</module>
        <module>application</module>
        <module>modules/Base</module>
        <module>modules/BaseSimple</module>
        <module>modules/ChordInspector</module>
        <module>modules/ActiveSong</module>
        <module>modules/Arranger</module>
        <module>modules/BackgroundSongMusicBuilder</module>
        <module>modules/ChordSymbolTextInput</module>
        <module>modules/EasyReader</module>
        <module>modules/Guava</module>
        <module>modules/ImprovisationSupport</module>
        <module>modules/EmbeddedSynth</module>
        <module>modules/Phrase</module>
        <module>modules/PhraseTransform</module>
        <module>modules/PianoRoll</module>
        <module>modules/RpCustomEditorFactoryImpl</module>
        <module>modules/SongContext</module>
        <module>modules/TestPlayerService</module>
        <module>modules/InstrumentComponents</module>
        <module>modules/Score</module>
        <module>modules/UISettings</module>
        <module>modules/Helpers</module>
        <module>modules/FileDirectoryManager</module>
        <module>modules/Importers</module>
        <module>modules/InstrumentChooser</module>
        <module>modules/MidiMix</module>
        <module>modules/MusicControl</module>
        <module>modules/OutputSynth</module>
        <module>modules/PopupWindowMenuPatch</module>
        <module>modules/Print</module>
        <module>modules/RhythmStubs</module>
        <module>modules/SongEditorManager</module>
        <module>modules/SongMemoViewer</module>
        <module>modules/SongStructure</module>
        <module>modules/RhythmMusicGeneration</module>
        <module>modules/RhythmSelectionDialog</module>
        <module>modules/FlatComponents</module>
        <module>modules/MixConsole</module>
        <module>modules/MusicControlActions</module>
        <module>modules/SS_Editor</module>
        <module>modules/SptEditor</module>
        <module>modules/ZoomableSliders</module>
        <module>modules/Upgrade</module>
        <module>modules/XOM</module>
        <module>modules/Xstream</module>
        <module>modules/Startup</module>
        <module>modules/Analytics</module>
        <module>modules/Biab</module>
        <module>modules/Harmony</module>
        <module>modules/ChordLeadSheet</module>
        <module>modules/Options</module>
        <module>modules/Quantizer</module>
        <module>modules/RhythmDatabase</module>
        <module>modules/CL_Editor</module>
        <module>modules/ColorSetManager</module>
        <module>modules/ItemRenderer</module>
        <module>modules/UIUtilities</module>
        <module>modules/UndoManager</module>
        <module>modules/Utilities</module>
        <module>modules/Diff</module>
        <module>modules/FluidSynthEmbeddedSynth</module>
        <module>modules/FluidSynthJava</module>
        <module>modules/YamJJazz</module>
        <module>modules/YjzCreator</module>
    </modules>
    <properties>
        <netbeans.version>RELEASE170</netbeans.version>
        <brandingToken>jjazzlab</brandingToken>
        <maven.compiler.release>17</maven.compiler.release>        
    </properties>
</project>

=====================
./application/pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.jjazz</groupId>
        <artifactId>jjazzlab-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <artifactId>jjazzlab</artifactId>
    <packaging>nbm-application</packaging>
    <name>jjazzlab-app</name>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <all.clusters>${project.build.directory}/${brandingToken}</all.clusters>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.netbeans.cluster</groupId>
            <artifactId>platform</artifactId>
            <version>${netbeans.version}</version>
            <type>pom</type>
            <exclusions>
                <exclusion>
                    <artifactId>org-jdesktop-layout</artifactId>
                    <groupId>org.netbeans.api</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>org-netbeans-api-search</artifactId>
                    <groupId>org.netbeans.api</groupId>
                </exclusion>
                <exclusion>
                    <artifactId>org-netbeans-api-visual</artifactId>
                    <groupId>org.netbeans.api</groupId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>jjazzlab-branding</artifactId>
            <version>${project.version}</version>
        </dependency>
        <!-- NbModuleSuite functional in RELEASE70 or later: -->
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-netbeans-modules-nbjunit</artifactId>
            <version>${netbeans.version}</version>
            <scope>test</scope>
            <!-- beyond platform cluster, this often needs to be dropped down to compile/runtime, some other modules in IDE clusters depend on it -->
        </dependency>
        <!-- To use Jelly Tools in your functional tests, add or replace with:
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-netbeans-modules-jellytools-platform</artifactId>
            <version>${netbeans.version}</version>
            <scope>test</scope>
        </dependency>
        -->
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Base</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ActiveSong</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Arranger</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>BackgroundSongMusicBuilder</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ChordInspector</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ChordSymbolTextInput</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>EasyReader</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Guava</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ImprovisationSupport</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>EmbeddedSynth</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Phrase</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>PhraseTransform</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>PianoRoll</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RpCustomEditorFactoryImpl</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SongContext</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>TestPlayerService</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>InstrumentComponents</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Score</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>UISettings</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Helpers</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>FileDirectoryManager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Importers</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>InstrumentChooser</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>MidiMix</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>MusicControl</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>OutputSynth</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>PopupWindowMenuPatch</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Print</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RhythmStubs</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SongEditorManager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SongMemoViewer</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SongStructure</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RhythmMusicGeneration</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RhythmSelectionDialog</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>FlatComponents</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>MixConsole</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>MusicControlActions</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SS_Editor</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>SptEditor</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ZoomableSliders</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Upgrade</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>XOM</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Xstream</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Startup</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Analytics</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Biab</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Harmony</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ChordLeadSheet</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Options</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Quantizer</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>RhythmDatabase</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>CL_Editor</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ColorSetManager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>ItemRenderer</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>UIUtilities</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>UndoManager</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Utilities</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>Diff</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>FluidSynthEmbeddedSynth</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>FluidSynthJava</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>YamJJazz</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>YjzCreator</artifactId>
            <version>${project.version}</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.netbeans.utilities</groupId>
                <artifactId>nbm-maven-plugin</artifactId>
            </plugin>
            <!-- Permits NbModuleSuite to be run in integration-test phase: -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.12.2</version>
                <configuration>
                    <systemPropertyVariables>
                        <all.clusters>${all.clusters}</all.clusters>
                        <branding.token>${brandingToken}</branding.token>
                    </systemPropertyVariables>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <profiles>
        <profile>
            <id>deployment</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.netbeans.utilities</groupId>
                        <artifactId>nbm-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>extra</id>
                                <goals>
                                    <goal>autoupdate</goal>
                                    <goal>webstart-app</goal>
                                    <goal>build-installers</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>



=============================modules/ActiveSong/pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.jjazz</groupId>
        <artifactId>jjazzlab-parent</artifactId>
        <version>1.0-SNAPSHOT</version>
        <relativePath>../../pom.xml</relativePath>
    </parent>
    <artifactId>ActiveSong</artifactId>
    <packaging>nbm</packaging>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.netbeans.utilities</groupId>
                <artifactId>nbm-maven-plugin</artifactId>
                <configuration>
                    <publicPackages>                      
                        <publicPackage>org.jjazz.activesong.api</publicPackage>
                    </publicPackages>
                </configuration>
                <extensions>true</extensions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-netbeans-api-annotations-common</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-windows</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-util</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-util-ui</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-util-lookup</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-openide-awt</artifactId>
            <version>${netbeans.version}</version>
        </dependency>
        <dependency>
            <groupId>org.netbeans.api</groupId>
            <artifactId>org-netbeans-modules-settings</artifactId>
            <version>${netbeans.version}</version>
        </dependency>        
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.chordleadsheet</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.midi</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.midimix</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.musiccontrol</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.outputsynth</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.rhythm</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.rhythmmusicgeneration</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.song</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.songcontext</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.songstructure</artifactId> 
            <version>${project.version}</version>  
        </dependency>  
        <dependency> 
            <groupId>${project.groupId}</groupId> 
            <artifactId>org.jjazz.utilities</artifactId> 
            <version>${project.version}</version>  
        </dependency> 
    </dependencies>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
</project>


    Le lundi 15 mai 2023 à 22:40:56 UTC+2, Greenberg, Gary <gg...@visa.com.invalid> a écrit :  
 
 
You should provide your POM file here. Than we’ll be able to help you.
 
  
 
From: Jerome Lelasseux <le...@yahoo.com.INVALID> 
Sent: Monday, May 15, 2023 1:26 PM
To: NetBeans Mailing List <us...@netbeans.apache.org>
Subject: Migrating NB platform app to maven
 
  
 
I try to migrate my Ant-based NB platform app (~70 modules) to Maven, but I'm new to Maven, so forgive the newbie question.
 
  
 
  
 
I created a new empty NB platform app with a sample module from the NB wizard, then I built from there. I usedhttps://github.com/gephi/gephi  on GitHub as a kind of model.
 
  
 
So now I have my parent project, the app project, the branding project and all my modules. I checked the various pom.xml. Running "mvn validate" is a success, and the projects structure in the IDE is OK.
 
  
 
BUT... I can't build ! Using "BUild with dependencies" on the app project, I get error messages like:
 
  
 
The POM for org.jjazz:org.jjazz.utilities:jar:1.0-SNAPSHOT is missing, no dependency information available
 
The POM for org.netbeans.api:org.openide.actions:jar:RELEASE170 is missing, no dependency information available
 
...
 
  
 
Using the "Solve project problems" menu, I understood that the dependencies are not found because they are not available in my local repository. But to be in the repository I need to compile the module, which depends on other modules etc... The only modules I was able to compile are the few ones with no dependencies at all, so only those were copied in the local repository.
 
  
 
I expected Maven (or rather the reactor plugin) to parse the module dependency tree and infer the appropriate compilation order, like Ant did...
 
  
 
What do I miss ?
 
  
 
  
 
  
 
Jerome
 
  
 
PS: I used a bash script to automate the migration process as much as possible. When I'm done I'll be happy to share it -there is not much info on the web...
 
  
 
  
 
  
 
  
 
  
   

RE: Migrating NB platform app to maven

Posted by "Greenberg, Gary" <gg...@visa.com.INVALID>.
You should provide your POM file here. Than we'll be able to help you.

From: Jerome Lelasseux <le...@yahoo.com.INVALID>
Sent: Monday, May 15, 2023 1:26 PM
To: NetBeans Mailing List <us...@netbeans.apache.org>
Subject: Migrating NB platform app to maven

I try to migrate my Ant-based NB platform app (~70 modules) to Maven, but I'm new to Maven, so forgive the newbie question.


I created a new empty NB platform app with a sample module from the NB wizard, then I built from there. I used https://github.com/gephi/gephi  on GitHub as a kind of model.

So now I have my parent project, the app project, the branding project and all my modules. I checked the various pom.xml. Running "mvn validate" is a success, and the projects structure in the IDE is OK.

BUT... I can't build ! Using "BUild with dependencies" on the app project, I get error messages like:

The POM for org.jjazz:org.jjazz.utilities:jar:1.0-SNAPSHOT is missing, no dependency information available
The POM for org.netbeans.api:org.openide.actions:jar:RELEASE170 is missing, no dependency information available
...

Using the "Solve project problems" menu, I understood that the dependencies are not found because they are not available in my local repository. But to be in the repository I need to compile the module, which depends on other modules etc... The only modules I was able to compile are the few ones with no dependencies at all, so only those were copied in the local repository.

I expected Maven (or rather the reactor plugin) to parse the module dependency tree and infer the appropriate compilation order, like Ant did...

What do I miss ?



Jerome

PS: I used a bash script to automate the migration process as much as possible. When I'm done I'll be happy to share it -there is not much info on the web...






Re: Migrating NB platform app to maven

Posted by Tim de Vries <te...@gmail.com>.
For something like this, I would say something like...


'Construct a build process that process my "main()" project and all 
dependencies.

Test via: Run and test that.

Thank you.

Tim

On 2023-05-15 2:26 p.m., Jerome Lelasseux wrote:
> I try to migrate my Ant-based NB platform app (~70 modules) to Maven, 
> but I'm new to Maven, so forgive the newbie question.
>
>
> I created a new empty NB platform app with a sample module from the NB 
> wizard, then I built from there. I used https://github.com/gephi/gephi 
> on GitHub as a kind of model.
>
> So now I have my parent project, the app project, the branding project 
> and all my modules. I checked the various pom.xml. Running "mvn 
> validate" is a success, and the projects structure in the IDE is OK.
>
> BUT... I can't build ! Using "BUild with dependencies" on the app 
> project, I get error messages like:
>
> The POM for org.jjazz:org.jjazz.utilities:jar:1.0-SNAPSHOT is missing, 
> no dependency information available
> The POM for org.netbeans.api:org.openide.actions:jar:RELEASE170 is 
> missing, no dependency information available
> ...
>
> Using the "Solve project problems" menu, I understood that the 
> dependencies are not found because they are not available in my local 
> repository. But to be in the repository I need to compile the module, 
> which depends on other modules etc... The only modules I was able to 
> compile are the few ones with no dependencies at all, so only those 
> were copied in the local repository.
>
> I expected Maven (or rather the reactor plugin) to parse the module 
> dependency tree and infer the appropriate compilation order, like Ant 
> did...
>
> What do I miss ?
>
>
>
> Jerome
>
> PS: I used a bash script to automate the migration process as much as 
> possible. When I'm done I'll be happy to share it -there is not much 
> info on the web...
>
>
>
>
>

Re: Distribution of a NB app with a native library ?

Posted by "Mark A. Flacy" <mf...@verizon.net.INVALID>.
Greetings,
 
At best you could claim that your package supports a specific version of a 
specific Linux distribution (with some caveats around Redhat<-->Fedora and 
Ubuntu<-->Debian equivalences).

Ideally, you'd make a different bundle that was keyed in some way such that a 
linux user of a non-Ubuntu/Debian/RedHat/Fedora/Gentoo distribution could wire 
in their own.

-- 
Mark A. Flacy
mflacy@verizon.net

On Wednesday, May 31, 2023 4:11:58 PM CDT Jerome Lelasseux wrote:
> Please forgive me it's not a pure Netbeans question.
> 
> The next version of my Netbeans platform music app uses a native library,
> the software synth Fluidsynth
> https://github.com/FluidSynth/fluidsynth/wiki/Download which is available
> on Win/Linux/Mac.
> 
> Would you have recommandations on the best way to package my app to continue
> distribution for Win/Linux/Mac ? ("best"=a trade-off between minimize work
> for me and end-user acceptability).
> 
> What I understood so far:
> Simpler for me is to bundle the native lib plus its few dependencies into
> the package. I did it on Windows, I can still use the NB packaging feature
> and it works OK.
> 
> But is it possible to do this for Linux ? When I checked on Ubuntu the
> fluidsynth lib dependencies using ldd, I found tons of libraries I would
> need to embed, and I guess they would work only for Ubuntu. I don't easily
> have access to a Mac, so not sure for Mac. Another option is to create a
> package for my app (e.g.  deb Linux and brew for Mac) which declares a
> dependency so that the package manager takes care about installing
> fluidsynth. But there are many different package managers, not for all
> distros, same for Mac, with some restrictions... I lack some experience on
> Linux and Mac and I'm lost. Any help welcome.
> 
> Thanks  Jerome





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@netbeans.apache.org
For additional commands, e-mail: users-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: Distribution of a NB app with a native library ?

Posted by Jerome Lelasseux <le...@yahoo.com.INVALID>.
 Thanks for the feedback


    Le jeudi 1 juin 2023 à 05:54:50 UTC+2, Michael Bien <mb...@gmail.com> a écrit :  
 
  if this isn't a self contained lib on linux and it can't be easily shipped with your application your best chance is to simply ask the user to install it if your app can't find it. 
  Seems to be a common lib and available in most package managers. https://github.com/FluidSynth/fluidsynth/wiki/Download#distributions
  
  -mbien
  
  
  On 31.05.23 23:11, Jerome Lelasseux wrote:
  
 
 Please forgive me it's not a pure Netbeans question.
  
  The next version of my Netbeans platform music app uses a native library, the software synth Fluidsynth https://github.com/FluidSynth/fluidsynth/wiki/Download which is available on Win/Linux/Mac. 
  
  Would you have recommandations on the best way to package my app to continue distribution for Win/Linux/Mac ? ("best"=a trade-off between minimize work for me and end-user acceptability). 
  
  What I understood so far: 
  Simpler for me is to bundle the native lib plus its few dependencies into the package. I did it on Windows, I can still use the NB packaging feature and it works OK.
  
  But is it possible to do this for Linux ? When I checked on Ubuntu the fluidsynth lib dependencies using ldd, I found tons of libraries I would need to embed, and I guess they would work only for Ubuntu. I don't easily have access to a Mac, so not sure for Mac. 
  Another option is to create a package for my app (e.g.  deb Linux and brew for Mac) which declares a dependency so that the package manager takes care about installing fluidsynth. But there are many different package managers, not for all distros, same for Mac, with some restrictions... 
  I lack some experience on Linux and Mac and I'm lost. Any help welcome.
  
  Thanks  Jerome
  
  
  
  
  
  
  
  
  
  
   

 
   

Re: Distribution of a NB app with a native library ?

Posted by Michael Bien <mb...@gmail.com>.
if this isn't a self contained lib on linux and it can't be easily 
shipped with your application your best chance is to simply ask the user 
to install it if your app can't find it.

Seems to be a common lib and available in most package managers.
https://github.com/FluidSynth/fluidsynth/wiki/Download#distributions

-mbien


On 31.05.23 23:11, Jerome Lelasseux wrote:
> Please forgive me it's not a pure Netbeans question.
>
> The next version of my Netbeans platform music app uses a native 
> library, the software synth Fluidsynth 
> https://github.com/FluidSynth/fluidsynth/wiki/Download which is 
> available on Win/Linux/Mac.
>
> Would you have recommandations on the best way to package my app to 
> continue distribution for Win/Linux/Mac ? ("best"=a trade-off between 
> minimize work for me and end-user acceptability).
>
> What I understood so far:
>
> Simpler for me is to bundle the native lib plus its few dependencies 
> into the package. I did it on Windows, I can still use the NB 
> packaging feature and it works OK.
>
> But is it possible to do this for Linux ? When I checked on Ubuntu the 
> fluidsynth lib dependencies using ldd, I found tons of libraries I 
> would need to embed, and I guess they would work only for Ubuntu. I 
> don't easily have access to a Mac, so not sure for Mac.
>
> Another option is to create a package for my app (e.g.  deb Linux and 
> brew for Mac) which declares a dependency so that the package manager 
> takes care about installing fluidsynth. But there are many different 
> package managers, not for all distros, same for Mac, with some 
> restrictions...
>
> I lack some experience on Linux and Mac and I'm lost. Any help welcome.
>
> Thanks  Jerome
>
>
>
>
>
>
>
>
>
>

Distribution of a NB app with a native library ?

Posted by Jerome Lelasseux <le...@yahoo.com.INVALID>.
Please forgive me it's not a pure Netbeans question.

The next version of my Netbeans platform music app uses a native library, the software synth Fluidsynth https://github.com/FluidSynth/fluidsynth/wiki/Download which is available on Win/Linux/Mac. 

Would you have recommandations on the best way to package my app to continue distribution for Win/Linux/Mac ? ("best"=a trade-off between minimize work for me and end-user acceptability). 

What I understood so far:
Simpler for me is to bundle the native lib plus its few dependencies into the package. I did it on Windows, I can still use the NB packaging feature and it works OK.

But is it possible to do this for Linux ? When I checked on Ubuntu the fluidsynth lib dependencies using ldd, I found tons of libraries I would need to embed, and I guess they would work only for Ubuntu. I don't easily have access to a Mac, so not sure for Mac.
Another option is to create a package for my app (e.g.  deb Linux and brew for Mac) which declares a dependency so that the package manager takes care about installing fluidsynth. But there are many different package managers, not for all distros, same for Mac, with some restrictions...
I lack some experience on Linux and Mac and I'm lost. Any help welcome.

Thanks  Jerome











Re: Migrating NB platform app to maven

Posted by Neil C Smith <ne...@apache.org>.
Hi,

On Mon, 15 May 2023 at 23:05, Jerome Lelasseux <le...@yahoo.com> wrote:
> > Have you done a clean and build of the parent project?
> yes, the output below

OK, just checking the obvious - seems to have been a stumbling block
in a few recent threads.

Your reactor build order looks wrong.  Wrong or circular dependency in
a POM somewhere?

You could try commenting out the modules in the parent POM, and adding
back one by one until you find the problematic one(s) ?

Is the work in progress up somewhere?

Best wishes,

Neil

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@netbeans.apache.org
For additional commands, e-mail: users-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists


Re: Migrating NB platform app to maven

Posted by Jerome Lelasseux <le...@yahoo.com.INVALID>.
 Neil,
> Have you done a clean and build of the parent project?yes, the output below


cd D:\JeromeDocs\NetBeansProjects\JJazzLab; "JAVA_HOME=C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.4.1+1" cmd /c "\"C:\\Users\\Jerome\\Progs\\Netbeans 17\\java\\maven\\bin\\mvn.cmd\" \"-Dmaven.ext.class.path=C:\\Users\\Jerome\\Progs\\Netbeans 17\\java\\maven-nblib\\netbeans-eventspy.jar\" clean install"
Scanning for projects...
------------------------------------------------------------------------
Reactor Build Order:

jjazzlab                                                           [pom]
jjazzlab-branding                                                  [nbm]
Base                                                               [nbm]
ActiveSong                                                         [nbm]
Arranger                                                           [nbm]
BackgroundSongMusicBuilder                                         [nbm]
ChordInspector                                                     [nbm]
ChordSymbolTextInput                                               [nbm]
EasyReader                                                         [nbm]
Guava                                                              [nbm]
ImprovisationSupport                                               [nbm]
EmbeddedSynth                                                      [nbm]
Phrase                                                             [nbm]
PhraseTransform                                                    [nbm]
PianoRoll                                                          [nbm]
RpCustomEditorFactoryImpl                                          [nbm]
SongContext                                                        [nbm]
TestPlayerService                                                  [nbm]
InstrumentComponents                                               [nbm]
Score                                                              [nbm]
UISettings                                                         [nbm]
Helpers                                                            [nbm]
FileDirectoryManager                                               [nbm]
Importers                                                          [nbm]
InstrumentChooser                                                  [nbm]
MidiMix                                                            [nbm]
MusicControl                                                       [nbm]
OutputSynth                                                        [nbm]
PopupWindowMenuPatch                                               [nbm]
Print                                                              [nbm]
RhythmStubs                                                        [nbm]
SongEditorManager                                                  [nbm]
SongMemoViewer                                                     [nbm]
SongStructure                                                      [nbm]
RhythmMusicGeneration                                              [nbm]
RhythmSelectionDialog                                              [nbm]
FlatComponents                                                     [nbm]
MixConsole                                                         [nbm]
MusicControlActions                                                [nbm]
SS_Editor                                                          [nbm]
SptEditor                                                          [nbm]
ZoomableSliders                                                    [nbm]
Upgrade                                                            [nbm]
XOM                                                                [nbm]
Xstream                                                            [nbm]
Startup                                                            [nbm]
Analytics                                                          [nbm]
Biab                                                               [nbm]
Harmony                                                            [nbm]
ChordLeadSheet                                                     [nbm]
Options                                                            [nbm]
Quantizer                                                          [nbm]
RhythmDatabase                                                     [nbm]
CL_Editor                                                          [nbm]
ColorSetManager                                                    [nbm]
ItemRenderer                                                       [nbm]
UIUtilities                                                        [nbm]
UndoManager                                                        [nbm]
Utilities                                                          [nbm]
Diff                                                               [nbm]
FluidSynthEmbeddedSynth                                            [nbm]
FluidSynthJava                                                     [nbm]
YamJJazz                                                           [nbm]
YjzCreator                                                         [nbm]
jjazzlab-app                                           [nbm-application]
BaseSimple                                                         [nbm]

---------------------< org.jjazz:jjazzlab-parent >----------------------
Building jjazzlab 1.0-SNAPSHOT                                    [1/66]
--------------------------------[ pom ]---------------------------------

--- maven-clean-plugin:2.5:clean (default-clean) @ jjazzlab-parent ---

--- maven-install-plugin:2.4:install (default-install) @ jjazzlab-parent ---
Installing D:\JeromeDocs\NetBeansProjects\JJazzLab\pom.xml to C:\Users\Jerome\.m2\repository\org\jjazz\jjazzlab-parent\1.0-SNAPSHOT\jjazzlab-parent-1.0-SNAPSHOT.pom

--------------------< org.jjazz:jjazzlab-branding >---------------------
Building jjazzlab-branding 1.0-SNAPSHOT                           [2/66]
--------------------------------[ nbm ]---------------------------------

--- maven-clean-plugin:2.5:clean (default-clean) @ jjazzlab-branding ---
Deleting D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target

--- maven-resources-plugin:3.3.1:resources (default-resources) @ jjazzlab-branding ---
Copying 1 resource from src\main\resources to target\classes

--- maven-compiler-plugin:3.11.0:compile (default-compile) @ jjazzlab-branding ---
No sources to compile

--- nbm-maven-plugin:4.8:manifest (default-manifest) @ jjazzlab-branding ---
NBM Plugin generates manifest

--- maven-resources-plugin:3.3.1:testResources (default-testResources) @ jjazzlab-branding ---
skip non existing resourceDirectory D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\src\test\resources

--- maven-compiler-plugin:3.11.0:testCompile (default-testCompile) @ jjazzlab-branding ---
No sources to compile

--- maven-surefire-plugin:3.1.0:test (default-test) @ jjazzlab-branding ---
No tests to run.

--- maven-jar-plugin:3.3.0:jar (default-jar) @ jjazzlab-branding ---
Building jar: D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\jjazzlab-branding-1.0-SNAPSHOT.jar

--- nbm-maven-plugin:4.8:branding (default-branding) @ jjazzlab-branding ---
Building jar: D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\nbm\clusters\jjazzlab\core\locale\core_jjazzlab.jar
Building jar: D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\nbm\clusters\jjazzlab\modules\locale\org-netbeans-core-windows_jjazzlab.jar
Building jar: D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\nbm\clusters\jjazzlab\modules\locale\org-netbeans-core_jjazzlab.jar

--- nbm-maven-plugin:4.8:nbm (default-nbm) @ jjazzlab-branding ---
Copying module JAR to D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\nbm\clusters\jjazzlab\modules
Generating Auto Update information for org.jjazz.jjazzlab.branding
No updater.jar specified, cannot validate Info.xml against DTD
Building jar: D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\nbm\jjazzlab-branding-1.0-SNAPSHOT.nbm

--- maven-install-plugin:3.1.1:install (default-install) @ jjazzlab-branding ---
Installing D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\pom.xml to C:\Users\Jerome\.m2\repository\org\jjazz\jjazzlab-branding\1.0-SNAPSHOT\jjazzlab-branding-1.0-SNAPSHOT.pom
Installing D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\jjazzlab-branding-1.0-SNAPSHOT.jar to C:\Users\Jerome\.m2\repository\org\jjazz\jjazzlab-branding\1.0-SNAPSHOT\jjazzlab-branding-1.0-SNAPSHOT.jar
Installing D:\JeromeDocs\NetBeansProjects\JJazzLab\branding\target\jjazzlab-branding-1.0-SNAPSHOT.nbm to C:\Users\Jerome\.m2\repository\org\jjazz\jjazzlab-branding\1.0-SNAPSHOT\jjazzlab-branding-1.0-SNAPSHOT.nbm

---------------------------< org.jjazz:Base >---------------------------
Building Base 1.0-SNAPSHOT                                        [3/66]
--------------------------------[ nbm ]---------------------------------
The POM for org.jjazz:org.jjazz.filedirectorymanager:jar:1.0-SNAPSHOT is missing, no dependency information available
The POM for org.jjazz:org.jjazz.utilities:jar:1.0-SNAPSHOT is missing, no dependency information available
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.netbeans.modules.autoupdate.services/RELEASE170/org.netbeans.modules.autoupdate.services-RELEASE170.pom
The POM for org.netbeans.api:org.netbeans.modules.autoupdate.services:jar:RELEASE170 is missing, no dependency information available
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.openide.actions/RELEASE170/org.openide.actions-RELEASE170.pom
The POM for org.netbeans.api:org.openide.actions:jar:RELEASE170 is missing, no dependency information available
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.openide.dialogs/RELEASE170/org.openide.dialogs-RELEASE170.pom
The POM for org.netbeans.api:org.openide.dialogs:jar:RELEASE170 is missing, no dependency information available
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.openide.filesystems/RELEASE170/org.openide.filesystems-RELEASE170.pom
The POM for org.netbeans.api:org.openide.filesystems:jar:RELEASE170 is missing, no dependency information available
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.openide.io/RELEASE170/org.openide.io-RELEASE170.pom
The POM for org.netbeans.api:org.openide.io:jar:RELEASE170 is missing, no dependency information available
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.openide.loaders/RELEASE170/org.openide.loaders-RELEASE170.pom
The POM for org.netbeans.api:org.openide.loaders:jar:RELEASE170 is missing, no dependency information available
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.openide.modules/RELEASE170/org.openide.modules-RELEASE170.pom
The POM for org.netbeans.api:org.openide.modules:jar:RELEASE170 is missing, no dependency information available
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.netbeans.modules.autoupdate.services/RELEASE170/org.netbeans.modules.autoupdate.services-RELEASE170.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.openide.dialogs/RELEASE170/org.openide.dialogs-RELEASE170.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.openide.filesystems/RELEASE170/org.openide.filesystems-RELEASE170.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.openide.io/RELEASE170/org.openide.io-RELEASE170.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.openide.actions/RELEASE170/org.openide.actions-RELEASE170.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.openide.loaders/RELEASE170/org.openide.loaders-RELEASE170.jar
Downloading from central: https://repo.maven.apache.org/maven2/org/netbeans/api/org.openide.modules/RELEASE170/org.openide.modules-RELEASE170.jar
------------------------------------------------------------------------
Reactor Summary for jjazzlab 1.0-SNAPSHOT:

jjazzlab ........................................... SUCCESS [  0.164 s]
jjazzlab-branding .................................. SUCCESS [  2.052 s]
Base ............................................... FAILURE [  0.911 s]
ActiveSong ......................................... SKIPPED
Arranger ........................................... SKIPPED
BackgroundSongMusicBuilder ......................... SKIPPED
ChordInspector ..................................... SKIPPED
ChordSymbolTextInput ............................... SKIPPED
EasyReader ......................................... SKIPPED
Guava .............................................. SKIPPED
ImprovisationSupport ............................... SKIPPED
EmbeddedSynth ...................................... SKIPPED
Phrase ............................................. SKIPPED
PhraseTransform .................................... SKIPPED
PianoRoll .......................................... SKIPPED
RpCustomEditorFactoryImpl .......................... SKIPPED
SongContext ........................................ SKIPPED
TestPlayerService .................................. SKIPPED
InstrumentComponents ............................... SKIPPED
Score .............................................. SKIPPED
UISettings ......................................... SKIPPED
Helpers ............................................ SKIPPED
FileDirectoryManager ............................... SKIPPED
Importers .......................................... SKIPPED
InstrumentChooser .................................. SKIPPED
MidiMix ............................................ SKIPPED
MusicControl ....................................... SKIPPED
OutputSynth ........................................ SKIPPED
PopupWindowMenuPatch ............................... SKIPPED
Print .............................................. SKIPPED
RhythmStubs ........................................ SKIPPED
SongEditorManager .................................. SKIPPED
SongMemoViewer ..................................... SKIPPED
SongStructure ...................................... SKIPPED
RhythmMusicGeneration .............................. SKIPPED
RhythmSelectionDialog .............................. SKIPPED
FlatComponents ..................................... SKIPPED
MixConsole ......................................... SKIPPED
MusicControlActions ................................ SKIPPED
SS_Editor .......................................... SKIPPED
SptEditor .......................................... SKIPPED
ZoomableSliders .................................... SKIPPED
Upgrade ............................................ SKIPPED
XOM ................................................ SKIPPED
Xstream ............................................ SKIPPED
Startup ............................................ SKIPPED
Analytics .......................................... SKIPPED
Biab ............................................... SKIPPED
Harmony ............................................ SKIPPED
ChordLeadSheet ..................................... SKIPPED
Options ............................................ SKIPPED
Quantizer .......................................... SKIPPED
RhythmDatabase ..................................... SKIPPED
CL_Editor .......................................... SKIPPED
ColorSetManager .................................... SKIPPED
ItemRenderer ....................................... SKIPPED
UIUtilities ........................................ SKIPPED
UndoManager ........................................ SKIPPED
Utilities .......................................... SKIPPED
Diff ............................................... SKIPPED
FluidSynthEmbeddedSynth ............................ SKIPPED
FluidSynthJava ..................................... SKIPPED
YamJJazz ........................................... SKIPPED
YjzCreator ......................................... SKIPPED
jjazzlab-app ....................................... SKIPPED
BaseSimple ......................................... SKIPPED
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time:  4.129 s
Finished at: 2023-05-16T00:01:34+02:00
------------------------------------------------------------------------
Failed to execute goal on project Base: Could not resolve dependencies for project org.jjazz:Base:nbm:1.0-SNAPSHOT: The following artifacts could not be resolved: org.jjazz:org.jjazz.filedirectorymanager:jar:1.0-SNAPSHOT, org.jjazz:org.jjazz.utilities:jar:1.0-SNAPSHOT, org.netbeans.api:org.netbeans.modules.autoupdate.services:jar:RELEASE170, org.netbeans.api:org.openide.actions:jar:RELEASE170, org.netbeans.api:org.openide.dialogs:jar:RELEASE170, org.netbeans.api:org.openide.filesystems:jar:RELEASE170, org.netbeans.api:org.openide.io:jar:RELEASE170, org.netbeans.api:org.openide.loaders:jar:RELEASE170, org.netbeans.api:org.openide.modules:jar:RELEASE170: Could not find artifact org.jjazz:org.jjazz.filedirectorymanager:jar:1.0-SNAPSHOT -> [Help 1]



    Le lundi 15 mai 2023 à 23:59:24 UTC+2, Neil C Smith <ne...@apache.org> a écrit :  
 
 

On Mon, 15 May 2023, 22:52 Jerome Lelasseux, <le...@yahoo.com.invalid> wrote:

 Mark,
 > you should publish any local artifacts to your local maven repository.  
Yes. But publish a local artifact for modula A means I need to build module A, right ? module A depends on module B which depends on module C etc. So when I build module A it fails because module B is not published, etc. So I should start building module C, then B then A. But I have 70 interconnected modules... Do I need to figure out the dependency tree myself ? When using Ant for the same app I never had to think about build order.

Have you done a clean and build of the parent project?
Neil
  

Re: Migrating NB platform app to maven

Posted by Neil C Smith <ne...@apache.org>.
On Mon, 15 May 2023, 22:52 Jerome Lelasseux, <le...@yahoo.com.invalid>
wrote:

> Mark,
>
> > you should publish any local artifacts to your local maven repository.
> Yes. But publish a local artifact for modula A means I need to build
> module A, right ? module A depends on module B which depends on module C
> etc. So when I build module A it fails because module B is not published,
> etc. So I should start building module C, then B then A. But I have 70
> interconnected modules... Do I need to figure out the dependency tree
> myself ? When using Ant for the same app I never had to think about build
> order.
>

Have you done a clean and build of the parent project?

Neil

Re: Migrating NB platform app to maven

Posted by Jerome Lelasseux <le...@yahoo.com.INVALID>.
 Mark,
 > you should publish any local artifacts to your local maven repository.  
Yes. But publish a local artifact for modula A means I need to build module A, right ? module A depends on module B which depends on module C etc. So when I build module A it fails because module B is not published, etc. So I should start building module C, then B then A. But I have 70 interconnected modules... Do I need to figure out the dependency tree myself ? When using Ant for the same app I never had to think about build order.

In my ~/.m2 repository, I see the external dependencies and only my modules which have no inter-modules dependency.
Jerome


    Le lundi 15 mai 2023 à 23:22:53 UTC+2, Mark A. Flacy <mf...@verizon.net.invalid> a écrit :  
 
 Greetings,

Ant never had an automatic way to pull in dependencies (well, perhaps later 
versions of Ant did but I am ignorant of such updates).  Maven and gradle, 
however, know how to query external repositories of information to pull in 
such dependencies.

Maven and gradle ALSO know that you should cache such artifacts locally as 
much as possible.

In your case, you should publish any local artifacts to your local maven 
repository.  (Look in the ~/.m2/repository/ directory structure to see what's 
cached.)

-- 
Mark A. Flacy
mflacy@verizon.net

On Monday, May 15, 2023 3:26:03 PM CDT Jerome Lelasseux wrote:
> I try to migrate my Ant-based NB platform app (~70 modules) to Maven, but
> I'm new to Maven, so forgive the newbie question.
> 
> I created a new empty NB platform app with a sample module from the NB
> wizard, then I built from there. I used https://github.com/gephi/gephi  on
> GitHub as a kind of model. So now I have my parent project, the app
> project, the branding project and all my modules. I checked the various
> pom.xml. Running "mvn validate" is a success, and the projects structure in
> the IDE is OK.
> 
> BUT... I can't build ! Using "BUild with dependencies" on the app project, I
> get error messages like:
> 
> The POM for org.jjazz:org.jjazz.utilities:jar:1.0-SNAPSHOT is missing, no
> dependency information available The POM for
> org.netbeans.api:org.openide.actions:jar:RELEASE170 is missing, no
> dependency information available...
> 
> Using the "Solve project problems" menu, I understood that the dependencies
> are not found because they are not available in my local repository. But to
> be in the repository I need to compile the module, which depends on other
> modules etc... The only modules I was able to compile are the few ones with
> no dependencies at all, so only those were copied in the local repository.
> 
> I expected Maven (or rather the reactor plugin) to parse the module
> dependency tree and infer the appropriate compilation order, like Ant
> did... What do I miss ?
> 
> 
> Jerome
> PS: I used a bash script to automate the migration process as much as
> possible. When I'm done I'll be happy to share it -there is not much info
> on the web...





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@netbeans.apache.org
For additional commands, e-mail: users-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

  

Re: Migrating NB platform app to maven

Posted by "Mark A. Flacy" <mf...@verizon.net.INVALID>.
Greetings,

Ant never had an automatic way to pull in dependencies (well, perhaps later 
versions of Ant did but I am ignorant of such updates).  Maven and gradle, 
however, know how to query external repositories of information to pull in 
such dependencies.

Maven and gradle ALSO know that you should cache such artifacts locally as 
much as possible.

In your case, you should publish any local artifacts to your local maven 
repository.  (Look in the ~/.m2/repository/ directory structure to see what's 
cached.)

-- 
Mark A. Flacy
mflacy@verizon.net

On Monday, May 15, 2023 3:26:03 PM CDT Jerome Lelasseux wrote:
> I try to migrate my Ant-based NB platform app (~70 modules) to Maven, but
> I'm new to Maven, so forgive the newbie question.
> 
> I created a new empty NB platform app with a sample module from the NB
> wizard, then I built from there. I used https://github.com/gephi/gephi  on
> GitHub as a kind of model. So now I have my parent project, the app
> project, the branding project and all my modules. I checked the various
> pom.xml. Running "mvn validate" is a success, and the projects structure in
> the IDE is OK.
> 
> BUT... I can't build ! Using "BUild with dependencies" on the app project, I
> get error messages like:
> 
> The POM for org.jjazz:org.jjazz.utilities:jar:1.0-SNAPSHOT is missing, no
> dependency information available The POM for
> org.netbeans.api:org.openide.actions:jar:RELEASE170 is missing, no
> dependency information available...
> 
> Using the "Solve project problems" menu, I understood that the dependencies
> are not found because they are not available in my local repository. But to
> be in the repository I need to compile the module, which depends on other
> modules etc... The only modules I was able to compile are the few ones with
> no dependencies at all, so only those were copied in the local repository.
> 
> I expected Maven (or rather the reactor plugin) to parse the module
> dependency tree and infer the appropriate compilation order, like Ant
> did... What do I miss ?
> 
> 
> Jerome
> PS: I used a bash script to automate the migration process as much as
> possible. When I'm done I'll be happy to share it -there is not much info
> on the web...





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@netbeans.apache.org
For additional commands, e-mail: users-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists