You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by Marshall Schor <ms...@schor.com> on 2010/05/18 13:54:42 UTC

Starting to use the new maven build system [Was: Re: new Maven Align system checked in]

This looks like a chicken and egg problem, that will go away once we do
a first release of our parent poms.

The configuration that specifies the use of the Nexus repository for
snapshots, etc., is in the Apache Parent Pom, but to get to that you
have to follow the path thru the uima top parent pom, which is in the
snapshot repo...

To work around this, please try the following:

1) checkout the build/trunk node of uima

2) build just the the parent-pom-top:  In m2eclipse, select the pom
itself or its containing folder (doesn't matter) and right click -> run
-> maven install.  This will install it into your local repo.
If you want to use the command line, cd to the folder containing the
parent-pom-top POM, and do mvn install.

I hope that fixes this issue...

-Marshall

On 5/18/2010 4:54 AM, Thilo Götz wrote:
> Marshall,
>
> are these instructions still up-to-date?  I tried this:
>
> svn co https://svn.eu.apache.org/repos/asf/uima/uimaj/trunk uimaj
> cd uimaj/aggregate-uimaj
> mvn install
>
> which gives me this:
>
> [INFO] Scanning for projects...
> [INFO] ------------------------------------------------------------------------
> [ERROR] FATAL ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] Failed to resolve artifact.
>
> GroupId: org.apache.uima
> ArtifactId: parent-pom-top
> Version: 1-SNAPSHOT
>
> Reason: Unable to download the artifact from any repository
>
>   org.apache.uima:parent-pom-top:pom:1-SNAPSHOT
>
> from the specified remote repositories:
>   central (http://repo1.maven.org/maven2)
>
>
>
> [INFO] ------------------------------------------------------------------------
> [INFO] Trace
> org.apache.maven.reactor.MavenExecutionException: Cannot find parent:
> org.apache.uima:parent-pom-top
>  for project: null:aggregate-uimaj:pom:2.3.1-SNAPSHOT for project
> null:aggregate-uimaj:pom:2.3.1-SNA
> PSHOT
>         at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:404)
>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:272)
>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
>         at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
>         at java.lang.reflect.Method.invoke(Method.java:600)
>         at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>         at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>         at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find
> parent: org.apache.uima:pa
> rent-pom-top for project: null:aggregate-uimaj:pom:2.3.1-SNAPSHOT for project
> null:aggregate-uimaj:p
> om:2.3.1-SNAPSHOT
>         at
> org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBu
> ilder.java:1396)
>         at
> org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuil
> der.java:823)
>         at
> org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMa
> venProjectBuilder.java:508)
>         at
> org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java
> :200)
>         at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:604)
>         at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:487)
>         at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:391)
>         ... 12 more
> Caused by: org.apache.maven.project.ProjectBuildingException: POM
> 'org.apache.uima:parent-pom-top' n
> ot found in repository: Unable to download the artifact from any repository
>
>   org.apache.uima:parent-pom-top:pom:1-SNAPSHOT
>
> from the specified remote repositories:
>   central (http://repo1.maven.org/maven2)
>
>  for project org.apache.uima:parent-pom-top
>         at
> org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenP
> rojectBuilder.java:605)
>         at
> org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBu
> ilder.java:1392)
>         ... 18 more
>
> I'm using maven 2.2.1.  Do I need to use a version 3 beta?
>
> --Thilo
>
>
> On 5/12/2010 17:41, Marshall Schor wrote:
>   
>> I just checked in all the outstanding changes for the new Maven build
>> system.  Most of this recent checkin was for the sandbox projects.
>>
>> Highlights -
>>
>> New top level SVN node: "build" - holds parent poms, build resources,
>> and a build-helper plugin.  These won't be part of normal "distr"
>> releases, but will be released anyways, individually.  They have
>> versions numbering conventions like other build tooling in Apache -
>> e.g., they are called "1-SNAPSHOT".
>>
>> Sandbox projects are set up as "single-release" style of builds -
>> enabling releasing them individually.  We can decide if it also makes
>> sense to bundle a bunch of them together, as well.
>>
>> The single-release style has 2 binary forms: the PEAR, and a simple
>> zip/tar format.  Both are similar, but the PEAR includes a main
>> descriptor, and is set up as an installable PEAR file.
>>
>> No more docbook tools.  docbook building done by using the docbkx maven
>> plugin.  Olinks handled by accumulating olink database info in an olink
>> project - checked in to the Snapshot repo.  We may from time to time
>> also make a real release of this thing, but it's not really needed - if
>> it gets wiped out (infra has been known to erase all snapshots), it can
>> be regenerated by doing multiple builds of the docbooks.
>>
>> No more cross project checkout location dependencies (I hope) except for:
>> 1) aggregation poms - these build multiple things and use the relative
>> path in the <modules> for this
>> 2) -distr poms - these assemble multiple things using relative paths. 
>> Currently only 2: uimaj-distr and uima-as-distr
>>
>> POMs follow Maven 3 conventions, use proerties in the right way (I think
>> :-) )
>>
>> I've been using m2eclipse, seems to work well except for one bug that's
>> fixed but not yet released - workaround is to build from command line
>> for those cases where it hits - this is the one where part of the build
>> is building source files for other parts to use.
>>
>> How To:
>>
>> 1) check out uimaj (branch) - all projects - into some local working dir.
>> 2) use m2eclipse import existing projects (you don't need to use maven
>> projects, sometimes that helps - more learning curve needed here)
>> 3) individual projects should build using mvn install.
>> 4) sets of projects should build using mvn install on aggregate-xxxx
>> projects
>> 5) -distr projects should build using mvn install to build distributions
>> 6) eclipse update site build should work using mvn install
>> 7) mvn deploy should work after you set up for deploying to the
>> repository - you have to configure your .settings file, set up
>> passwords, etc.  Please use encryption on your passwords.  (See earlier
>> note on this).
>>
>> I'm sure lots of (hopefully small) things are broken, but it's time now
>> for others to start pounding on this.  If there are no objections, I'll
>> merge back into trunk in maybe 3 days or so...
>>
>> Cheers. -Marshall
>>     
>
>   

Re: Starting to use the new maven build system [Was: Re: new Maven Align system checked in]

Posted by Thilo Götz <tw...@gmx.de>.
Thanks.  I had to also compile the following:

parent-pom-docbook
parent-pom-ibm-notice
parent-pom-eclipse-plugins
parent-pom-eclipse-plugins-ibm-notice

Then it worked.  Note: I'm doing this all from
the command line.  m2eclipse is great, but I
do like to be able to build on the command line
as well :-)

--Thilo

On 5/18/2010 13:54, Marshall Schor wrote:
> This looks like a chicken and egg problem, that will go away once we do
> a first release of our parent poms.
> 
> The configuration that specifies the use of the Nexus repository for
> snapshots, etc., is in the Apache Parent Pom, but to get to that you
> have to follow the path thru the uima top parent pom, which is in the
> snapshot repo...
> 
> To work around this, please try the following:
> 
> 1) checkout the build/trunk node of uima
> 
> 2) build just the the parent-pom-top:  In m2eclipse, select the pom
> itself or its containing folder (doesn't matter) and right click -> run
> -> maven install.  This will install it into your local repo.
> If you want to use the command line, cd to the folder containing the
> parent-pom-top POM, and do mvn install.
> 
> I hope that fixes this issue...
> 
> -Marshall
> 
> On 5/18/2010 4:54 AM, Thilo Götz wrote:
>> Marshall,
>>
>> are these instructions still up-to-date?  I tried this:
>>
>> svn co https://svn.eu.apache.org/repos/asf/uima/uimaj/trunk uimaj
>> cd uimaj/aggregate-uimaj
>> mvn install
>>
>> which gives me this:
>>
>> [INFO] Scanning for projects...
>> [INFO] ------------------------------------------------------------------------
>> [ERROR] FATAL ERROR
>> [INFO] ------------------------------------------------------------------------
>> [INFO] Failed to resolve artifact.
>>
>> GroupId: org.apache.uima
>> ArtifactId: parent-pom-top
>> Version: 1-SNAPSHOT
>>
>> Reason: Unable to download the artifact from any repository
>>
>>   org.apache.uima:parent-pom-top:pom:1-SNAPSHOT
>>
>> from the specified remote repositories:
>>   central (http://repo1.maven.org/maven2)
>>
>>
>>
>> [INFO] ------------------------------------------------------------------------
>> [INFO] Trace
>> org.apache.maven.reactor.MavenExecutionException: Cannot find parent:
>> org.apache.uima:parent-pom-top
>>  for project: null:aggregate-uimaj:pom:2.3.1-SNAPSHOT for project
>> null:aggregate-uimaj:pom:2.3.1-SNA
>> PSHOT
>>         at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:404)
>>         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:272)
>>         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
>>         at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
>>         at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48)
>>         at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
>>         at java.lang.reflect.Method.invoke(Method.java:600)
>>         at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
>>         at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
>>         at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
>>         at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
>> Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find
>> parent: org.apache.uima:pa
>> rent-pom-top for project: null:aggregate-uimaj:pom:2.3.1-SNAPSHOT for project
>> null:aggregate-uimaj:p
>> om:2.3.1-SNAPSHOT
>>         at
>> org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBu
>> ilder.java:1396)
>>         at
>> org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuil
>> der.java:823)
>>         at
>> org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMa
>> venProjectBuilder.java:508)
>>         at
>> org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java
>> :200)
>>         at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:604)
>>         at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:487)
>>         at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:391)
>>         ... 12 more
>> Caused by: org.apache.maven.project.ProjectBuildingException: POM
>> 'org.apache.uima:parent-pom-top' n
>> ot found in repository: Unable to download the artifact from any repository
>>
>>   org.apache.uima:parent-pom-top:pom:1-SNAPSHOT
>>
>> from the specified remote repositories:
>>   central (http://repo1.maven.org/maven2)
>>
>>  for project org.apache.uima:parent-pom-top
>>         at
>> org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenP
>> rojectBuilder.java:605)
>>         at
>> org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBu
>> ilder.java:1392)
>>         ... 18 more
>>
>> I'm using maven 2.2.1.  Do I need to use a version 3 beta?
>>
>> --Thilo
>>
>>
>> On 5/12/2010 17:41, Marshall Schor wrote:
>>   
>>> I just checked in all the outstanding changes for the new Maven build
>>> system.  Most of this recent checkin was for the sandbox projects.
>>>
>>> Highlights -
>>>
>>> New top level SVN node: "build" - holds parent poms, build resources,
>>> and a build-helper plugin.  These won't be part of normal "distr"
>>> releases, but will be released anyways, individually.  They have
>>> versions numbering conventions like other build tooling in Apache -
>>> e.g., they are called "1-SNAPSHOT".
>>>
>>> Sandbox projects are set up as "single-release" style of builds -
>>> enabling releasing them individually.  We can decide if it also makes
>>> sense to bundle a bunch of them together, as well.
>>>
>>> The single-release style has 2 binary forms: the PEAR, and a simple
>>> zip/tar format.  Both are similar, but the PEAR includes a main
>>> descriptor, and is set up as an installable PEAR file.
>>>
>>> No more docbook tools.  docbook building done by using the docbkx maven
>>> plugin.  Olinks handled by accumulating olink database info in an olink
>>> project - checked in to the Snapshot repo.  We may from time to time
>>> also make a real release of this thing, but it's not really needed - if
>>> it gets wiped out (infra has been known to erase all snapshots), it can
>>> be regenerated by doing multiple builds of the docbooks.
>>>
>>> No more cross project checkout location dependencies (I hope) except for:
>>> 1) aggregation poms - these build multiple things and use the relative
>>> path in the <modules> for this
>>> 2) -distr poms - these assemble multiple things using relative paths. 
>>> Currently only 2: uimaj-distr and uima-as-distr
>>>
>>> POMs follow Maven 3 conventions, use proerties in the right way (I think
>>> :-) )
>>>
>>> I've been using m2eclipse, seems to work well except for one bug that's
>>> fixed but not yet released - workaround is to build from command line
>>> for those cases where it hits - this is the one where part of the build
>>> is building source files for other parts to use.
>>>
>>> How To:
>>>
>>> 1) check out uimaj (branch) - all projects - into some local working dir.
>>> 2) use m2eclipse import existing projects (you don't need to use maven
>>> projects, sometimes that helps - more learning curve needed here)
>>> 3) individual projects should build using mvn install.
>>> 4) sets of projects should build using mvn install on aggregate-xxxx
>>> projects
>>> 5) -distr projects should build using mvn install to build distributions
>>> 6) eclipse update site build should work using mvn install
>>> 7) mvn deploy should work after you set up for deploying to the
>>> repository - you have to configure your .settings file, set up
>>> passwords, etc.  Please use encryption on your passwords.  (See earlier
>>> note on this).
>>>
>>> I'm sure lots of (hopefully small) things are broken, but it's time now
>>> for others to start pounding on this.  If there are no objections, I'll
>>> merge back into trunk in maybe 3 days or so...
>>>
>>> Cheers. -Marshall
>>>     
>>
>>