dev@glassfish.java.net

Re: About a problem of HK2 building

From: Romain Grecourt <romain.grecourt_at_oracle.com>
Date: Tue, 09 Oct 2012 12:16:56 +0200

On 10/09/2012 11:53 AM, Tang Yong wrote:
> Hi Romain,
>
> Thanks your quick reply!
>
> > Which mvn version are you using ?
> maven 3.0.4
> jdk 1.6.0_34
>
> > Are you using the following workaround ?
>> https://wikis.oracle.com/display/GlassFish/FullBuildInstructions#FullBuildInstructions-Settings.xml
> Romain, this is to gf trunk , what I built is HK2. I can build gf's
> building successfully.
Since hk2 1.1.15 still references maven.glassfish.org, this workaround
is necessary if behind some proxy (depending on the proxy, maven will
save html files as artifacts and it will corrupt your local repository).

Thanks,
Romain
>
> Thanks!
> --Tang
>
> Romain Grecourt wrote:
>> Hi Tang,
>>
>> Which mvn version are you using ?
>> Are you using the following workaround ?
>> https://wikis.oracle.com/display/GlassFish/FullBuildInstructions#FullBuildInstructions-Settings.xml
>>
>> Please, see my comments inline.
>>
>> On 10/09/2012 10:22 AM, Tang Yong wrote:
>>> Hi HK2)Team
>>> CC: Sahoo
>>>
>>> Today, I met a hk2 1.1.15(hk2 earlier version) building problem and
>>> want to ask a right solution.
>>>
>>> [Problem]
>>> After I checked out hk2 1.1.15[1], I plan to release a new hk2
>>> version(1.1.15-gf-00007-SNAPSHOT) based 1.1.15. Then, I made the
>>> following modification.
>>>
>>> 1) modify <version> in hk2-parent pom into 1.1.15-gf-00007-SNAPSHOT
>>> 2) modify <parent><version> in hk2-related modules into
>>> 1.1.15-gf-00007-SNAPSHOT
>>>
>>> Then, I start to execute the following command:
>>>
>>> mvn -P release-phase1 install
>>>
>>> However, the following execption happened on cmd shell,
>>> ...
>>> [INFO] --- maven-enforcer-plugin:1.0:enforce (enforce-maven) @ external ---
>>> [INFO] Forking Inversion of Control / Autodependency mechanism
>>> 1.1.15-gf-00007-SNAPSHOT
>>> ...
>>> [INFO] Reactor Summary:
>>> [INFO]
>>> [INFO] Modules Subsystem ................................. SUCCESS [1.234s]
>>> [INFO] Class Model for Hk2 ............................... FAILURE [34.422s]
>>> ...
>>> [ERROR] Failed to execute goal on project auto-depends: Could not
>>> resolve dependencies for project
>>> org.glassfish.hk2:auto-depends:jar:1.1.15-gf-00007-SNAPSHOT: Could not
>>> find artifact
>>> org.glassfish.hk2.external:asm-all-repackaged:jar:1.1.15-gf-00007-SNAPSHOT
>>> ...
>>>
>>> [My Trying]
>>> After seeing the above exception, I checked my maven local repo and have
>>> not found class-model-1.1.15-gf-00007-SNAPSHOT.jar on there although
>>> seeing from class-model's pom, class-model does not depend on
>>> auto-depends and asm-all-repackaged.
>> 1)
>> It says "Failed to execute goal on project auto-depends" and the reactor
>> summary says that there is a failure in class-model. Class-model does
>> not depend on auto-depends!
>>
>> 2)
>> The failure you reported is actually related to auto-depends which
>> depends on asm-all-repackaged:
>> /
>> [INFO] [dependency:tree {execution: default-cli}]
>> [INFO] org.glassfish.hk2:auto-depends:jar:1.1.15
>> [INFO] +- org.jvnet:tiger-types:jar:1.2:compile
>> [INFO] +- org.glassfish.hk2:class-model:jar:1.1.15:compile
>> [INFO] | \- (junit:junit:jar:4.3.1:compile - omitted for duplicate)
>> [INFO] +- junit:junit:jar:4.3.1:provided (scope not updated to compile)
>> [INFO] \- org.glassfish.hk2.external:asm-all-repackaged:jar:1.1.15:compile/
>>
>> 3)
>> Why do you have version=1.1.15-gf-000007-SNAPSHOT if you are trying to
>> build a tag ?
>> I'm almost sure all of this is related to the version updates you did
>> locally.
>>
>> If you want to work on the 1.1.x branch, here is the SVN URL:
>>
>> > https://svn.java.net/svn/hk2~svn/branches/hk2-parent-1.1.x
>>> Then, I tried to adjust building order in hk2-parent pom and put
>>> <module>external</module> before <module>class-model</module>, but the
>>> similar problem still happened.
>> The module order in the pom.xml does not really matter, maven figures
>> the reactor and the build order on its own.
>>> Then, I tried to build the external module and other related modules
>>> manually once simlar problems happened. As a result, anything is OK.
>>> Then, I start to execute "mvn -P release-phase1 install" and this time,
>>> executing is OK.
>>>
>>> [My Analyse]
>>> 1) Before HK2 releases a hk2 version and source, whether team has
>>> uploaded built jars of the version into remote maven repository in order
>>> to make user can download these jars while executing "mvn -P
>>> release-phase1 install" or not?
>> No, the hk2 1.x build is split in two phases because it contains maven
>> plugins that are also used during the build.
>> -Prelease-phase1 builds the 1st phase which contains the maven plugins.
>>> 2) Maybe my modification way is not right at all.
>>>
>>> [Request]
>>> Could team please tell me a right doing way?
>> I was not able to reproduce your issue.
>> I've able to build the tag using mvn 2.2.1 and 3.0.3 (removing
>> org/glassfish/hk2 from my local repo each time).
>>
>> Thanks,
>> Romain
>>> [1]: https://svn.java.net/svn/hk2~svn/tags/hk2-parent-1.1.15
>>>
>>> Thanks
>>> --Tang
>>>