PDA

View Full Version : [Slices] Development/build issues



dsklyut
Aug 13th, 2009, 03:41 PM
Hi,

Latest code base of slices does not build. That is issue #1.


Cannot find /Users/username/slices/build-slices/../spring-build/multi-bundle/default.xml
imported from /Users/username/slices/build-slices/build.xml


I also noticed that slices are published in maven repository.springsource.com repo. But maven metadata for 1.0.0.BUILD-SNAPSHOT, sorry to say is terrible. Either slices metadata or dependent project metadata is missing or pointing to non-existent artifacts. I guess this is an ivy to maven thing but still fairly frustrating when debugging and trying to figure out what slices are doing. Right now it is very difficult to use. I am attaching a pom dependency section that seemed to work, i.e. all dependencies resolved but it is a mess in there. Multiple versions of springframework libraries, some missing/custom build dependencies, etc.
This is issue #2.

I wanted to bring up these issue for consideration. Hope that maven/ivy metadata will stabilize in next few iterations.

pom dependencies I got to work:


<dependencies>
<dependency>
<groupId>com.springsource.osgi</groupId>
<artifactId>com.springsource.osgi.slices.api</artifactId>
<version>1.0.0.BUILD-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.springsource.osgi</groupId>
<artifactId>com.springsource.osgi.slices.core</artifactId>
<version>1.0.0.BUILD-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.springsource.osgi.webcontainer</groupId>
<artifactId>com.springsource.osgi.webcontainer.tomcat</artifactId>
<version>1.0.0.BUILD-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.springsource.osgi.webcontainer</groupId>
<artifactId>com.springsource.osgi.webcontainer.core</artifactId>
<version>1.0.0.BUILD-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.springsource.util</groupId>
<artifactId>com.springsource.util.io</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.springsource.util</groupId>
<artifactId>com.springsource.util.osgi</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
</dependency>
<!-- com.springsource.osgi.medic:com.springsource.osgi. medic -->
<dependency>
<groupId>com.springsource.osgi.medic</groupId>
<artifactId>com.springsource.osgi.medic</artifactId>
<version>1.0.0.BUILD-SNAPSHOT</version>
</dependency>
<!-- com.springsource.kernel:com.springsource.kernel.de ployer.core:jar:2.0.0.D-20090718191534 -->
<dependency>
<groupId>com.springsource.kernel</groupId>
<artifactId>com.springsource.kernel.deployer.core</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
</dependency>
<!-- org.springframework:org.springframework.context.su pport:jar:3.0.0.CI-282 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.context.support</artifactId>
<version>3.0.0.BUILD-SNAPSHOT</version>
</dependency>
<!-- com.springsource.repository:com.springsource.repos itory.bundle:jar:2.0.0.D-20090811104454 -->
<dependency>
<groupId>com.springsource.repository</groupId>
<artifactId>com.springsource.repository.bundle</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
</dependency>
<!-- com.springsource.osgi.medic:com.springsource.osgi. medic.core:jar:1.0.0.CI-B20 -->
<dependency>
<groupId>com.springsource.osgi.medic</groupId>
<artifactId>com.springsource.osgi.medic.core</artifactId>
<version>1.0.0.BUILD-SNAPSHOT</version>
</dependency>
<!-- org.springframework:org.springframework.beans:jar: 3.0.0.CI-282 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>org.springframework.beans</artifactId>
<version>3.0.0.BUILD-SNAPSHOT</version>
</dependency>
<!-- org.apache.felix:org.apache.felix.configadmin:jar: 1.0.10.FELIX-1477 -->
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.configadmin</artifactId>
<version>1.0.10</version>
</dependency>
<!-- org.springframework.osgi:org.springframework.osgi. extender:jar:1.2.1 -->
<dependency>
<groupId>org.springframework.osgi</groupId>
<artifactId>org.springframework.osgi.extender</artifactId>
<version>1.2.0</version>
</dependency>
<!-- com.springsource.repository:com.springsource.repos itory:jar:2.0.0.D-20090811104454 -->
<dependency>
<groupId>com.springsource.repository</groupId>
<artifactId>com.springsource.repository</artifactId>
<version>2.0.0.BUILD-SNAPSHOT</version>
</dependency>
</dependencies>


List of dependencies in the final build (i.e. mvn dependency:copy-dependencies)


com.springsource.com.google.common.collect-0.5.0.alpha.jar
com.springsource.javax.annotation-1.0.0.jar
com.springsource.javax.ejb-3.0.0.jar
com.springsource.javax.el-1.0.0.jar
com.springsource.javax.mail-1.4.0.jar
com.springsource.javax.persistence-1.0.0.jar
com.springsource.javax.servlet-2.5.0.jar
com.springsource.javax.servlet.jsp-2.1.0.jar
com.springsource.javax.xml.ws-2.1.1.jar
com.springsource.kernel.concurrent-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.kernel.config-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.kernel.core-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.kernel.deployer-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.kernel.deployer.core-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.kernel.dm-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.kernel.dmfragment-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.kernel.io-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.kernel.management-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.kernel.osgi-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.kernel.parameters-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.kernel.profile-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.kernel.services-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.org.aopalliance-1.0.0.jar
com.springsource.org.apache.catalina-6.0.18.jar
com.springsource.org.apache.catalina.ha-6.0.18.jar
com.springsource.org.apache.catalina.tribes-6.0.18.jar
com.springsource.org.apache.commons.codec-1.3.0.jar
com.springsource.org.apache.commons.httpclient-3.1.0.jar
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.apache.coyote-6.0.18.jar
com.springsource.org.apache.el-6.0.18.jar
com.springsource.org.apache.jasper-6.0.18.jar
com.springsource.org.apache.jasper.org.eclipse.jdt-6.0.18.jar
com.springsource.org.apache.juli.extras-6.0.18.jar
com.springsource.osgi.extensions.equinox-2.0.0.M4.jar
com.springsource.osgi.medic-1.0.0.BUILD-SNAPSHOT.jar
com.springsource.osgi.medic.core-1.0.0.BUILD-SNAPSHOT.jar
com.springsource.osgi.slices.api-1.0.0.BUILD-SNAPSHOT.jar
com.springsource.osgi.slices.core-1.0.0.BUILD-SNAPSHOT.jar
com.springsource.osgi.webcontainer.core-1.0.0.BUILD-SNAPSHOT.jar
com.springsource.osgi.webcontainer.tomcat-1.0.0.BUILD-SNAPSHOT.jar
com.springsource.repository-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.repository.bundle-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.slf4j.api-1.5.6.jar
com.springsource.util.common-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.util.env-2.0.0.M4.jar
com.springsource.util.io-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.util.math-2.0.0.M4.jar
com.springsource.util.osgi-2.0.0.BUILD-SNAPSHOT.jar
com.springsource.util.parser.manifest-2.0.0.BUILD-SNAPSHOT.jar
javax.servlet-1.0.0.jar
org.apache.felix.configadmin-1.0.10.jar
org.apache.felix.eventadmin-1.0.0.jar
org.eclipse.osgi-3.5.100.v20090629.jar
org.osgi.compendium-1.0.0.jar
org.osgi.core-1.0.0.jar
org.osgi.foundation-1.0.0.jar
org.springframework.aop-2.5.6.SEC01.jar
org.springframework.asm-3.0.0.BUILD-SNAPSHOT.jar
org.springframework.beans-3.0.0.BUILD-SNAPSHOT.jar
org.springframework.context-3.0.0.BUILD-SNAPSHOT.jar
org.springframework.context.support-3.0.0.BUILD-SNAPSHOT.jar
org.springframework.core-3.0.0.BUILD-SNAPSHOT.jar
org.springframework.expression-3.0.0.BUILD-SNAPSHOT.jar
org.springframework.osgi.core-1.2.0.jar
org.springframework.osgi.extender-1.2.0.jar
org.springframework.osgi.io-1.2.0.jar

Andy Wilkinson
Aug 14th, 2009, 05:46 AM
Thanks for the feedback, Dimitry.

The first problem is caused by the way that we're using Git. We're now pulling in the build system as a Git submodule. This means that, following a clone of the repository, you need to perform a submodule init and update. Rob recently updated his Slices blog post (http://blog.springsource.com/2009/06/22/modular-web-applications-with-springsource-slices/) to cover this. Apolgies for the inconvenience.

With regards to the second problem, you're right on the bleeding edge here but good-quality pom files for Slices is certainly something that we'll want to have before we release Slices 1.0. I've created a story (https://issuetracker.springsource.com/browse/DMS-1358) on your behalf so that you can track this work.

Thanks again,
Andy

dsklyut
Aug 14th, 2009, 08:20 AM
Andy, thank you very much for a pointer to information. Glasses and all but still missed it :)