You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by Jörn Kottmann <ko...@gmail.com> on 2010/06/25 13:21:47 UTC

Build problems

First I did a fresh checkout in the structure suggested on the web site:
svn checkout https://svn.apache.org/repos/asf/uima/uimaj/trunk 
uima-dev/uimaj
svn checkout https://svn.apache.org/repos/asf/uima/build/trunk 
uima-dev/build
svn checkout https://svn.apache.org/repos/asf/uima/uima-as/trunk 
uima-dev/uima-as
svn checkout https://svn.apache.org/repos/asf/uima/sandbox/trunk 
uima-dev/sandbox

Went to uima-dev/uimaj/aggregate-uimaj and did mvn install, which 
failed, so I
went on to uima-dev/build/aggregate-parent-poms. Building it with my 
installed
maven 2.2.1 failed, ok updated to  3.0-beta-1, then it worked.

After parents pom build, I tried again to build 
uima-dev/uimaj/aggregate-uimaj, but its
still failing with this error message:
[ERROR]   The project org.apache.uima:uimaj-core:2.3.1-SNAPSHOT 
(/home/joern/uima-dev/uimaj/uimaj-core/pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM 
org.apache.uima:parent-pom-ibm-notice:1-SNAPSHOT for 
org.apache.uima:uimaj-core:2.3.1-SNAPSHOT: Failed to resolve POM for 
org.apache.uima:parent-pom-ibm-notice:1-SNAPSHOT due to Missing:
----------
1) org.apache.uima:parent-pom-ibm-notice:pom:1-SNAPSHOT
----------
1 required artifact is missing.

for artifact:
  org.apache.uima:parent-pom-ibm-notice:pom:1-SNAPSHOT
....

What I am doing wrong ?

Jörn

Re: Build problems

Posted by Marshall Schor <ms...@schor.com>.
 trunk updates in SVN now done - all projects' poms changed to depend on current
snapshot versions.  I was able to build using this, the uimaj, uima-as, and
sandbox projects.

-Marshall

On 7/6/2010 1:37 PM, Marshall Schor wrote:
>  I've fixed the build problems, by changing lots of poms in the uimaj, uima-as,
> and sandbox that refer to the 1-SANDBOX version to be the right version for the
> trunk - mostly 2-SANDBOX but some 3-SANDBOX and 4-SANDBOX...
>
> I'm rebuilt the base, sandbox, and uima-as, and will update the trunk soon.
>
> -Marshall
>
> On 7/6/2010 11:10 AM, Marshall Schor wrote:
>>  We're climbing the learning curve on building right now... using the Nexus
>> apache repository, and the maven release plugin.
>>
>> What I think is happening (I've been grappling with it myself this morning), is
>> we've had some releases of build tooling, and some failed releases of build
>> tooling.  When a release happens, projects that released together have their
>> dependencies on parents which are being released, updated from xxx-SNAPSHOT to
>> just xxx.  However, other projects, not being released (e.g., the uimaj-xxx ones
>> etc.) don't have their parent-pom version numbers updated - they're still point
>> to 1-SNAPSHOT.  This is OK for a while.  But at some point, we deploy the next
>> level snapshot, e.g., 2-SNAPSHOT, and then later, the snapshot-cleaner removes
>> "old" snapshots from the snapshot repo.  So a new user (or one who has cleaned
>> up their local .m2 repo) tries to build, and finds missing things. 
>>
>> Furthermore, the release process changes the trunk so that released things at
>> 1-SNAPSHOT become 2-SNAPSHOT.  So building from a fresh checkout of the trunk
>> where the trunk now has references to 1-SNAPSHOT versions (not updated to 1 or
>> to 2-SNAPSHOT) fails.
>>
>> I think the best-practice here is to do the following, when a release succeeds:
>>
>> * update *all* dependencies in the trunk to depend on the released version
>> (without the -SNAPSHOT)
>> * subsequently, if some artifact needs to depend on another changed artifact at
>> a -SNAPSHOT level, change that to that level (including the -SNAPSHOT).
>>
>> I'll be updating the trunk for this, probably today, with the goal making a
>> fresh checkout build, once again.  Sorry about this glitch...
>>
>> -Marshall
>> On 7/5/2010 11:49 AM, Eugenie wrote:
>>> .. the same problems for me.
>>>  
>>> I just had to give up after a couple of hours trying to follow all of these 
>>> advices on the web without success. It is like a circle, whatever I build first, 
>>> I always end up with missing something I thought I've  built already .. :( 
>>>
>>>
>>> Best,
>>> Eugenie
>>>
>>>
>>>
>>>
>>>
>

Re: Build problems

Posted by Marshall Schor <ms...@schor.com>.
 I've fixed the build problems, by changing lots of poms in the uimaj, uima-as,
and sandbox that refer to the 1-SANDBOX version to be the right version for the
trunk - mostly 2-SANDBOX but some 3-SANDBOX and 4-SANDBOX...

I'm rebuilt the base, sandbox, and uima-as, and will update the trunk soon.

-Marshall

On 7/6/2010 11:10 AM, Marshall Schor wrote:
>  We're climbing the learning curve on building right now... using the Nexus
> apache repository, and the maven release plugin.
>
> What I think is happening (I've been grappling with it myself this morning), is
> we've had some releases of build tooling, and some failed releases of build
> tooling.  When a release happens, projects that released together have their
> dependencies on parents which are being released, updated from xxx-SNAPSHOT to
> just xxx.  However, other projects, not being released (e.g., the uimaj-xxx ones
> etc.) don't have their parent-pom version numbers updated - they're still point
> to 1-SNAPSHOT.  This is OK for a while.  But at some point, we deploy the next
> level snapshot, e.g., 2-SNAPSHOT, and then later, the snapshot-cleaner removes
> "old" snapshots from the snapshot repo.  So a new user (or one who has cleaned
> up their local .m2 repo) tries to build, and finds missing things. 
>
> Furthermore, the release process changes the trunk so that released things at
> 1-SNAPSHOT become 2-SNAPSHOT.  So building from a fresh checkout of the trunk
> where the trunk now has references to 1-SNAPSHOT versions (not updated to 1 or
> to 2-SNAPSHOT) fails.
>
> I think the best-practice here is to do the following, when a release succeeds:
>
> * update *all* dependencies in the trunk to depend on the released version
> (without the -SNAPSHOT)
> * subsequently, if some artifact needs to depend on another changed artifact at
> a -SNAPSHOT level, change that to that level (including the -SNAPSHOT).
>
> I'll be updating the trunk for this, probably today, with the goal making a
> fresh checkout build, once again.  Sorry about this glitch...
>
> -Marshall
> On 7/5/2010 11:49 AM, Eugenie wrote:
>> .. the same problems for me.
>>  
>> I just had to give up after a couple of hours trying to follow all of these 
>> advices on the web without success. It is like a circle, whatever I build first, 
>> I always end up with missing something I thought I've  built already .. :( 
>>
>>
>> Best,
>> Eugenie
>>
>>
>>
>>
>>
>

Re: Build problems

Posted by Marshall Schor <ms...@schor.com>.
 We're climbing the learning curve on building right now... using the Nexus
apache repository, and the maven release plugin.

What I think is happening (I've been grappling with it myself this morning), is
we've had some releases of build tooling, and some failed releases of build
tooling.  When a release happens, projects that released together have their
dependencies on parents which are being released, updated from xxx-SNAPSHOT to
just xxx.  However, other projects, not being released (e.g., the uimaj-xxx ones
etc.) don't have their parent-pom version numbers updated - they're still point
to 1-SNAPSHOT.  This is OK for a while.  But at some point, we deploy the next
level snapshot, e.g., 2-SNAPSHOT, and then later, the snapshot-cleaner removes
"old" snapshots from the snapshot repo.  So a new user (or one who has cleaned
up their local .m2 repo) tries to build, and finds missing things. 

Furthermore, the release process changes the trunk so that released things at
1-SNAPSHOT become 2-SNAPSHOT.  So building from a fresh checkout of the trunk
where the trunk now has references to 1-SNAPSHOT versions (not updated to 1 or
to 2-SNAPSHOT) fails.

I think the best-practice here is to do the following, when a release succeeds:

* update *all* dependencies in the trunk to depend on the released version
(without the -SNAPSHOT)
* subsequently, if some artifact needs to depend on another changed artifact at
a -SNAPSHOT level, change that to that level (including the -SNAPSHOT).

I'll be updating the trunk for this, probably today, with the goal making a
fresh checkout build, once again.  Sorry about this glitch...

-Marshall
On 7/5/2010 11:49 AM, Eugenie wrote:
> .. the same problems for me.
>  
> I just had to give up after a couple of hours trying to follow all of these 
> advices on the web without success. It is like a circle, whatever I build first, 
> I always end up with missing something I thought I've  built already .. :( 
>
>
> Best,
> Eugenie
>
>
>
>
>

Re: Build problems

Posted by Eugenie <gi...@fzi.de>.
.. the same problems for me.
 
I just had to give up after a couple of hours trying to follow all of these 
advices on the web without success. It is like a circle, whatever I build first, 
I always end up with missing something I thought I've  built already .. :( 


Best,
Eugenie




Re: Build problems

Posted by Marshall Schor <ms...@schor.com>.

On 6/25/2010 9:05 AM, Tommaso Teofili wrote:
> Hi Jorn,
> I am having same issues.
> It seems that some build POMs have 2-SNAPSHOT version but are "using"
> 1-SNAPSHOT versions of other POMs; see in parent-pom-docbook 2-SNAPSHOT the
> uima-build-helper-maven-plugin is at 1-SNAPSHOT version.
>   

True.  The release plugin, when you do a release:prepare, does this
"updating" for you, see
http://maven.apache.org/plugins/maven-release-plugin/examples/prepare-release.html

> This should be changed in my opinion.
>   

Once the release is complete, we will have build artifacts at the
version 1 level.  The poms in the uimaj project will then be updated to
refer to version "1". 

For testing purposes, Adam has created a branch for uimaj with this
already done - you can check out that branch, if you like, for testing
the release. 

Sorry for the confusion...  -Marshall

> Same thing is happening for uimaj-core 2-SNAPSHOT which uses
> parent-pom-ibm-notice version 1-SNAPSHOT even if this could be reasonable
> since build and uimaj could be released in different times. The strange
> thing is that parent-pom-ibm-notice 1-SNAPSHOT is on Nexus at [1] but cannot
> be resolved.
> What could be the issue here?
> Tommaso
>
>
> [1] :
> https://repository.apache.org/service/local/repositories/snapshots/content/org/apache/uima/parent-pom-ibm-notice/1-SNAPSHOT/parent-pom-ibm-notice-1-20100623.132915-7.pom
>
>
>
> 2010/6/25 Jörn Kottmann <ko...@gmail.com>
>
>   
>> First I did a fresh checkout in the structure suggested on the web site:
>> svn checkout https://svn.apache.org/repos/asf/uima/uimaj/trunkuima-dev/uimaj
>> svn checkout https://svn.apache.org/repos/asf/uima/build/trunkuima-dev/build
>> svn checkout https://svn.apache.org/repos/asf/uima/uima-as/trunkuima-dev/uima-as
>> svn checkout https://svn.apache.org/repos/asf/uima/sandbox/trunkuima-dev/sandbox
>>
>> Went to uima-dev/uimaj/aggregate-uimaj and did mvn install, which failed,
>> so I
>> went on to uima-dev/build/aggregate-parent-poms. Building it with my
>> installed
>> maven 2.2.1 failed, ok updated to  3.0-beta-1, then it worked.
>>
>> After parents pom build, I tried again to build
>> uima-dev/uimaj/aggregate-uimaj, but its
>> still failing with this error message:
>> [ERROR]   The project org.apache.uima:uimaj-core:2.3.1-SNAPSHOT
>> (/home/joern/uima-dev/uimaj/uimaj-core/pom.xml) has 1 error
>> [ERROR]     Non-resolvable parent POM
>> org.apache.uima:parent-pom-ibm-notice:1-SNAPSHOT for
>> org.apache.uima:uimaj-core:2.3.1-SNAPSHOT: Failed to resolve POM for
>> org.apache.uima:parent-pom-ibm-notice:1-SNAPSHOT due to Missing:
>> ----------
>> 1) org.apache.uima:parent-pom-ibm-notice:pom:1-SNAPSHOT
>> ----------
>> 1 required artifact is missing.
>>
>> for artifact:
>>  org.apache.uima:parent-pom-ibm-notice:pom:1-SNAPSHOT
>> ....
>>
>> What I am doing wrong ?
>>
>> Jörn
>>
>>     
>   

Re: Build problems

Posted by Tommaso Teofili <to...@gmail.com>.
Hi Jorn,
I am having same issues.
It seems that some build POMs have 2-SNAPSHOT version but are "using"
1-SNAPSHOT versions of other POMs; see in parent-pom-docbook 2-SNAPSHOT the
uima-build-helper-maven-plugin is at 1-SNAPSHOT version.
This should be changed in my opinion.
Same thing is happening for uimaj-core 2-SNAPSHOT which uses
parent-pom-ibm-notice version 1-SNAPSHOT even if this could be reasonable
since build and uimaj could be released in different times. The strange
thing is that parent-pom-ibm-notice 1-SNAPSHOT is on Nexus at [1] but cannot
be resolved.
What could be the issue here?
Tommaso


[1] :
https://repository.apache.org/service/local/repositories/snapshots/content/org/apache/uima/parent-pom-ibm-notice/1-SNAPSHOT/parent-pom-ibm-notice-1-20100623.132915-7.pom



2010/6/25 Jörn Kottmann <ko...@gmail.com>

> First I did a fresh checkout in the structure suggested on the web site:
> svn checkout https://svn.apache.org/repos/asf/uima/uimaj/trunkuima-dev/uimaj
> svn checkout https://svn.apache.org/repos/asf/uima/build/trunkuima-dev/build
> svn checkout https://svn.apache.org/repos/asf/uima/uima-as/trunkuima-dev/uima-as
> svn checkout https://svn.apache.org/repos/asf/uima/sandbox/trunkuima-dev/sandbox
>
> Went to uima-dev/uimaj/aggregate-uimaj and did mvn install, which failed,
> so I
> went on to uima-dev/build/aggregate-parent-poms. Building it with my
> installed
> maven 2.2.1 failed, ok updated to  3.0-beta-1, then it worked.
>
> After parents pom build, I tried again to build
> uima-dev/uimaj/aggregate-uimaj, but its
> still failing with this error message:
> [ERROR]   The project org.apache.uima:uimaj-core:2.3.1-SNAPSHOT
> (/home/joern/uima-dev/uimaj/uimaj-core/pom.xml) has 1 error
> [ERROR]     Non-resolvable parent POM
> org.apache.uima:parent-pom-ibm-notice:1-SNAPSHOT for
> org.apache.uima:uimaj-core:2.3.1-SNAPSHOT: Failed to resolve POM for
> org.apache.uima:parent-pom-ibm-notice:1-SNAPSHOT due to Missing:
> ----------
> 1) org.apache.uima:parent-pom-ibm-notice:pom:1-SNAPSHOT
> ----------
> 1 required artifact is missing.
>
> for artifact:
>  org.apache.uima:parent-pom-ibm-notice:pom:1-SNAPSHOT
> ....
>
> What I am doing wrong ?
>
> Jörn
>

Re: Build problems

Posted by Marshall Schor <ms...@schor.com>.
Hi Jörn ,

I'm sorry our build is a bit on the bleeding edge, so you do have to
follow carefully the one-time setup requirement (which includes adding
various patches to things), which you probably have done by now :-)

The build instructions, with links to the one-time setups, are in
http://uima.apache.org/building-uima.html

You're hitting an issue related to the fact we have a release vote open. 

We're now using the maven release plugin to do releases, and it works by
a) taking the trunk ( 1-SNAPSHOT)
b) changing the modules being released to version (1) dropping the snapshot
c) committing that to a release "tag"
d) changing the modules being released to version (2-SNAPSHOT)
e) committing that back to trunk

So that is why the uimaj projects don't currently build with the
procedure you tried - they're not updated to refer to version 1 (the
hopefully soon-to-be-released version of the build tools).

As soon as the vote goes thru, and we do the release, we'll update the
refs to the "released" version of the build tools.

If you're testing the release, the way to do that is in the [VOTE] note
- but consists of
a) setting up your maven "settings.xml" file to have the staged-release
profile pointing to the release being "tested"
b) running mvn with the -Pstaged-release profile specified
c) changing the versions of uimaj (if you check out from trunk) that
refer to build artifacts from 1-SNAPSHOT to 1 (except for the
parent-pom-top artifact, which is already released, and should already
be at 1).

Some specific comments also, below.

Sorry for these (temporary) annoyances...  If this isn't clear, please
ask more :-)

-Marshall

On 6/25/2010 7:21 AM, Jörn Kottmann wrote:
> First I did a fresh checkout in the structure suggested on the web site:
> svn checkout https://svn.apache.org/repos/asf/uima/uimaj/trunk
> uima-dev/uimaj
> svn checkout https://svn.apache.org/repos/asf/uima/build/trunk
> uima-dev/build
> svn checkout https://svn.apache.org/repos/asf/uima/uima-as/trunk
> uima-dev/uima-as
> svn checkout https://svn.apache.org/repos/asf/uima/sandbox/trunk
> uima-dev/sandbox

OK - you checked out the trunk.
>
> Went to uima-dev/uimaj/aggregate-uimaj and did mvn install, which
> failed, so I
> went on to uima-dev/build/aggregate-parent-poms. Building it with my
> installed
> maven 2.2.1 failed, ok updated to  3.0-beta-1, then it worked.

Right, there's a bug in 2.2.1 which is fixed in 3.0 relating I think to
inheritance of profiles (I don't remember exactly...)
>
> After parents pom build, I tried again to build
> uima-dev/uimaj/aggregate-uimaj, but its
> still failing with this error message:
> [ERROR]   The project org.apache.uima:uimaj-core:2.3.1-SNAPSHOT
> (/home/joern/uima-dev/uimaj/uimaj-core/pom.xml) has 1 error
> [ERROR]     Non-resolvable parent POM
> org.apache.uima:parent-pom-ibm-notice:1-SNAPSHOT for
> org.apache.uima:uimaj-core:2.3.1-SNAPSHOT: Failed to resolve POM for
> org.apache.uima:parent-pom-ibm-notice:1-SNAPSHOT due to Missing:
> ----------
> 1) org.apache.uima:parent-pom-ibm-notice:pom:1-SNAPSHOT
> ----------
> 1 required artifact is missing.
>
> for artifact:
>  org.apache.uima:parent-pom-ibm-notice:pom:1-SNAPSHOT
> ....
>
> What I am doing wrong ?
>
> Jörn
>
>