dev@glassfish.java.net

Re: About a problem of HK2 building

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

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
>