Guice in Maven Repository?

920 views
Skip to first unread message

Paul Barry

unread,
Mar 12, 2007, 3:18:04 PM3/12/07
to google-guice
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

Any chance that we could see Guice added to the main Maven repository?

Hani Suleiman

unread,
Mar 12, 2007, 3:19:55 PM3/12/07
to google...@googlegroups.com
If any maven user contributes the required config files (poms?), then
sure!

Bob Lee

unread,
Mar 12, 2007, 4:51:39 PM3/12/07
to google...@googlegroups.com
On 3/12/07, Paul Barry <paulj...@gmail.com> wrote:
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

Nice article, Paul. FWIW, you can actually get rid of your module at the end altogether.

Bob

Alan Cabrera

unread,
Mar 16, 2007, 12:45:45 PM3/16/07
to google-guice
I've taken a crack at making the POM. There are a couple of issues:

* 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>


Alan Cabrera

unread,
Mar 16, 2007, 12:51:06 PM3/16/07
to google-guice
On 3/16/07, Alan Cabrera <Alan.C...@gmail.com> wrote:

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 -->
 
FYI, part of the reason for the length of this POM is that it's a mix of a root POM and a jar POM.  If you reorg the layout of the code the jar POM should be much simpler with the root POM holding the bulk of the shared project information for modules.



--
Alan Cabrera
2265 Alva Avenue
El Cerrito, CA 94530
510-225-5588 p
510-291-9810 f

Hani Suleiman

unread,
Mar 16, 2007, 12:53:25 PM3/16/07
to google...@googlegroups.com
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.

Alan Cabrera

unread,
Mar 16, 2007, 1:33:18 PM3/16/07
to google...@googlegroups.com
On 3/16/07, Hani Suleiman <ha...@formicary.net> wrote:

Ahh, the joys of having mavenites fight it out to finally agree on
something...

Sorry, I'm not following.  I realize that I have just jumped in recently.  Is there another thread I should read to bring me up to speed?

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.


Duh, read the jarjar docs.  That's pretty cool.


Regards,
Alan
Reply all
Reply to author
Forward
0 new messages