http://paulbarry.com/articles/2007/03/12/guice-hello-world
Any chance that we could see Guice added to the main Maven repository?
Guice looks like a pretty cool project, I just put an article about it
on my blog:
http://paulbarry.com/articles/2007/03/12/guice-hello-world
* IMO, the group id should be com.google.guice to reflect the fact
that the artifact is part of the Guice project at Google.
* IIUC, the current layout of the project makes it impossible to build
the other modules since the "top" POM is busy building the core jar
and cannot do double duty building modules, such as servlet and
spring, as well. Getting maven to build the other artifacts will take
a directory re-org.
* Because of the current layout, the javadoc links to the other
modules don't link up.
* Because of the current layout, I did not put in the assembly plugin
to make the dist.
* The project relies on cglib 2.2_beta1. I cannot find it in any of
the popular repos. Has it been published?
* I noticed that the ant build bundles cglib and asm inside
com.google.inject.* packages. It's not clear to me why this is so.
* Finally, I noticed that others have taken a crack at the POM as
well.
Regards,
Alan
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2006 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- $Rev: 517297 $ $Date: 2007-03-12 10:31:51 -0700 (Mon, 12 Mar
2007) $ -->
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.google.guice</groupId>
<artifactId>guice</artifactId>
<name>Google Guice</name>
<packaging>jar</packaging>
<version>1.0</version>
<description>
Guice (pronounced 'juice') is a lightweight dependency
injection framework
for Java 5, brought to you by Google.
</description>
<issueManagement>
<system>Google Code</system>
<url>http://code.google.com/p/google-guice/issues/list</url>
</issueManagement>
<scm>
<connection>scm:svn:http://google-guice.googlecode.com/svn</
connection>
<developerConnection>scm:svn:https://google-
guice.googlecode.com/svn</developerConnection>
<url>http://google-guice.googlecode.com/svn</url>
</scm>
<mailingLists>
<mailingList>
<name>Guice Developer List</name>
<subscribe>http://groups.google.com/group/google-guice/
subscribe</subscribe>
<unsubscribe>http://groups.google.com/group/google-guice</
unsubscribe>
<post>google...@googlegroups.com</post>
<archive>http://groups.google.com/group/google-guice</
archive>
</mailingList>
</mailingLists>
<developers>
<developer>
<id>crazyboblee</id>
<name>Bob Lee</name>
<email>b...@someplace.com</email>
<organization>Google</organization>
</developer>
</developers>
<prerequisites>
<maven>2.0.5</maven>
</prerequisites>
<properties>
<springVersion>2.0.3</springVersion>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.1_3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${springVersion}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${springVersion}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
</dependency>
<dependency>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>src</sourceDirectory>
<testSourceDirectory>test</testSourceDirectory>
<pluginManagement>
<plugins>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>pertest</forkMode>
<argLine>-enableassertions</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-idea-plugin</artifactId>
<configuration>
<jdkName>1.5</jdkName>
<jdkLevel>1.5</jdkLevel>
<linkModules>true</linkModules>
</configuration>
</plugin>
</plugins>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<author>false</author>
<links>
<link href="http://aopalliance.sourceforge.net/
doc"/>
<link href="http://java.sun.com/javase/6/docs/
api"/>
<link href="http://www.springframework.org/
docs/api/"/>
</links>
</configuration>
</plugin>
</plugins>
</reporting>
</project>
I've taken a crack at making the POM. There are a couple of issues:
* list of issues
Regards,
Alan
<?xml version="1.0" encoding="UTF-8"?>
<!-- verbose POM -->
On Mar 16, 2007, at 12:45 PM, Alan Cabrera wrote:
> * The project relies on cglib 2.2_beta1. I cannot find it in any of
> the popular repos. Has it been published?
> * I noticed that the ant build bundles cglib and asm inside
> com.google.inject.* packages. It's not clear to me why this is so.
Library shadowing. Guice moves cglib and asm and makes them an
internal implementation detail, so as not to interact with any other
versions you happen to have on your classpath. So in terms of
binaries, there is no dependency on cglib or asm.
Ahh, the joys of having mavenites fight it out to finally agree on
something...
On Mar 16, 2007, at 12:45 PM, Alan Cabrera wrote:
> * The project relies on cglib 2.2_beta1. I cannot find it in any of
> the popular repos. Has it been published?
> * I noticed that the ant build bundles cglib and asm inside
> com.google.inject.* packages. It's not clear to me why this is so.
Library shadowing. Guice moves cglib and asm and makes them an
internal implementation detail, so as not to interact with any other
versions you happen to have on your classpath. So in terms of
binaries, there is no dependency on cglib or asm.