]> git.argeo.org Git - gpl/argeo-slc.git/commitdiff
Improve packaging (esp. security)
authorMathieu Baudier <mbaudier@argeo.org>
Wed, 16 Feb 2011 13:59:21 +0000 (13:59 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Wed, 16 Feb 2011 13:59:21 +0000 (13:59 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@4150 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

28 files changed:
demo/slc-client-rcp.product [new file with mode: 0644]
dep/org.argeo.slc.dep.agent/pom.xml
dep/org.argeo.slc.dep.backend/pom.xml
dep/org.argeo.slc.dep.gis/pom.xml
dep/org.argeo.slc.dep.provided/pom.xml [new file with mode: 0644]
dep/org.argeo.slc.dep.sdk.rap/pom.xml
dep/org.argeo.slc.dep.sdk.rcp/pom.xml
dep/org.argeo.slc.dep.sdk.rcp/slc-client-rcp.product [deleted file]
dep/org.argeo.slc.dep.server/pom.xml
dep/pom.xml
dist/org.argeo.slc.sdk/pom.xml
eclipse/modules/pom.xml
eclipse/plugins/org.argeo.slc.client.ui.dist/META-INF/MANIFEST.MF
eclipse/plugins/org.argeo.slc.client.ui.dist/org.argeo.slc.client.ui.dist.jar [deleted file]
eclipse/plugins/org.argeo.slc.client.ui.dist/pom.xml [new file with mode: 0644]
eclipse/plugins/org.argeo.slc.client.ui.dist/src/main/java/org/argeo/slc/client/ui/dist/views/ModulesView.java
eclipse/plugins/pom.xml
integration-tests/pom.xml
modules/server/org.argeo.slc.server.jackrabbit.pgsql/META-INF/spring/jackrabbit.xml
modules/server/org.argeo.slc.server.repo/META-INF/spring/maven.xml
runtime/org.argeo.slc.core/pom.xml
runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoNodes.java [new file with mode: 0644]
runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoProperties.java [new file with mode: 0644]
runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/maven/ImportMavenDependencies.java
runtime/org.argeo.slc.repo/src/main/resources/org/argeo/slc/repo/repo.cnd
runtime/org.argeo.slc.support.activemq/pom.xml
runtime/org.argeo.slc.support.castor/pom.xml
runtime/org.argeo.slc.support.hibernate/pom.xml

diff --git a/demo/slc-client-rcp.product b/demo/slc-client-rcp.product
new file mode 100644 (file)
index 0000000..9621e7c
--- /dev/null
@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?pde version="3.5"?>
+
+<product name="SLC" uid="org.argeo.slc.client.rcp.product" application="org.argeo.security.ui.application.secureUi" version="1.0.0.qualifier" useFeatures="false" includeLaunchers="false">
+
+   <configIni use="default">
+   </configIni>
+
+   <launcherArgs>
+      <programArgs>-console</programArgs>
+      <vmArgs>-Dlog4j.configuration=file:${system_property:user.home}/dev/src/slc/demo/log4j.properties -Dorg.argeo.security.ui.initialPerspective=org.argeo.slc.client.ui.perspectives.slcExecution</vmArgs>
+      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
+   </launcherArgs>
+
+   <windowImages i16="icons/argeo-icon-256.png"/>
+
+   <launcher>
+      <solaris/>
+      <win useIco="false">
+         <bmp/>
+      </win>
+   </launcher>
+
+   <vm>
+   </vm>
+
+   <plugins>
+      <plugin id="com.ibm.icu"/>
+      <plugin id="com.springsource.antlr"/>
+      <plugin id="com.springsource.bsh"/>
+      <plugin id="com.springsource.com.jcraft.jsch"/>
+      <plugin id="com.springsource.com.lowagie.text"/>
+      <plugin id="com.springsource.com.mysql.jdbc"/>
+      <plugin id="com.springsource.com.sun.syndication"/>
+      <plugin id="com.springsource.com.thoughtworks.xstream"/>
+      <plugin id="com.springsource.edu.emory.mathcs.backport"/>
+      <plugin id="com.springsource.edu.oswego.cs.dl.util.concurrent"/>
+      <plugin id="com.springsource.javassist"/>
+      <plugin id="com.springsource.javax.activation"/>
+      <plugin id="com.springsource.javax.annotation"/>
+      <plugin id="com.springsource.javax.ejb"/>
+      <plugin id="com.springsource.javax.el"/>
+      <plugin id="com.springsource.javax.jms"/>
+      <plugin id="com.springsource.javax.mail"/>
+      <plugin id="com.springsource.javax.management.j2ee"/>
+      <plugin id="com.springsource.javax.media.jai.codec"/>
+      <plugin id="com.springsource.javax.media.jai.core"/>
+      <plugin id="com.springsource.javax.persistence"/>
+      <plugin id="com.springsource.javax.resource"/>
+      <plugin id="com.springsource.javax.servlet"/>
+      <plugin id="com.springsource.javax.servlet.jsp"/>
+      <plugin id="com.springsource.javax.servlet.jsp.jstl"/>
+      <plugin id="com.springsource.javax.transaction"/>
+      <plugin id="com.springsource.javax.xml.bind"/>
+      <plugin id="com.springsource.javax.xml.rpc"/>
+      <plugin id="com.springsource.javax.xml.soap"/>
+      <plugin id="com.springsource.javax.xml.stream"/>
+      <plugin id="com.springsource.javax.xml.ws"/>
+      <plugin id="com.springsource.jcifs"/>
+      <plugin id="com.springsource.jdbm"/>
+      <plugin id="com.springsource.json"/>
+      <plugin id="com.springsource.junit"/>
+      <plugin id="com.springsource.jxl"/>
+      <plugin id="com.springsource.net.sf.cglib"/>
+      <plugin id="com.springsource.net.sf.ehcache"/>
+      <plugin id="com.springsource.net.sourceforge.jtds"/>
+      <plugin id="com.springsource.org.antlr"/>
+      <plugin id="com.springsource.org.aopalliance"/>
+      <plugin id="com.springsource.org.apache.bsf"/>
+      <plugin id="com.springsource.org.apache.commons.beanutils"/>
+      <plugin id="com.springsource.org.apache.commons.codec"/>
+      <plugin id="com.springsource.org.apache.commons.collections"/>
+      <plugin id="com.springsource.org.apache.commons.compress"/>
+      <plugin id="com.springsource.org.apache.commons.dbcp"/>
+      <plugin id="com.springsource.org.apache.commons.fileupload"/>
+      <plugin id="com.springsource.org.apache.commons.httpclient"/>
+      <plugin id="com.springsource.org.apache.commons.io"/>
+      <plugin id="com.springsource.org.apache.commons.lang"/>
+      <plugin id="com.springsource.org.apache.commons.net"/>
+      <plugin id="com.springsource.org.apache.commons.pool"/>
+      <plugin id="com.springsource.org.apache.commons.vfs"/>
+      <plugin id="com.springsource.org.apache.derby"/>
+      <plugin id="com.springsource.org.apache.directory.server.changepw"/>
+      <plugin id="com.springsource.org.apache.directory.server.core" fragment="true"/>
+      <plugin id="com.springsource.org.apache.directory.server.core.shared"/>
+      <plugin id="com.springsource.org.apache.directory.server.jndi"/>
+      <plugin id="com.springsource.org.apache.directory.server.kerberos"/>
+      <plugin id="com.springsource.org.apache.directory.server.kerberos.shared"/>
+      <plugin id="com.springsource.org.apache.directory.server.ldap"/>
+      <plugin id="com.springsource.org.apache.directory.server.ntp"/>
+      <plugin id="com.springsource.org.apache.directory.server.protocol.shared"/>
+      <plugin id="com.springsource.org.apache.directory.shared.asn1"/>
+      <plugin id="com.springsource.org.apache.directory.shared.ldap"/>
+      <plugin id="com.springsource.org.apache.log4j"/>
+      <plugin id="com.springsource.org.apache.lucene"/>
+      <plugin id="com.springsource.org.apache.mina"/>
+      <plugin id="com.springsource.org.apache.oro"/>
+      <plugin id="com.springsource.org.apache.regexp"/>
+      <plugin id="com.springsource.org.apache.taglibs.standard"/>
+      <plugin id="com.springsource.org.apache.tools.ant"/>
+      <plugin id="com.springsource.org.apache.tools.ant.launch"/>
+      <plugin id="com.springsource.org.apache.ws.commons.schema"/>
+      <plugin id="com.springsource.org.apache.xalan"/>
+      <plugin id="com.springsource.org.apache.xerces" fragment="true"/>
+      <plugin id="com.springsource.org.apache.xml.resolver"/>
+      <plugin id="com.springsource.org.apache.xml.serializer"/>
+      <plugin id="com.springsource.org.apache.xmlbeans"/>
+      <plugin id="com.springsource.org.apache.xmlcommons"/>
+      <plugin id="com.springsource.org.aspectj.runtime"/>
+      <plugin id="com.springsource.org.aspectj.weaver"/>
+      <plugin id="com.springsource.org.castor"/>
+      <plugin id="com.springsource.org.codehaus.jackson"/>
+      <plugin id="com.springsource.org.codehaus.jackson.mapper"/>
+      <plugin id="com.springsource.org.cyberneko.html"/>
+      <plugin id="com.springsource.org.dbunit"/>
+      <plugin id="com.springsource.org.dom4j"/>
+      <plugin id="com.springsource.org.h2"/>
+      <plugin id="com.springsource.org.hibernate"/>
+      <plugin id="com.springsource.org.hsqldb"/>
+      <plugin id="com.springsource.org.jaxen"/>
+      <plugin id="com.springsource.org.jdom"/>
+      <plugin id="com.springsource.org.jgroups"/>
+      <plugin id="com.springsource.org.mortbay.jetty.server"/>
+      <plugin id="com.springsource.org.mortbay.util"/>
+      <plugin id="com.springsource.org.objectweb.asm"/>
+      <plugin id="com.springsource.org.postgresql.jdbc3"/>
+      <plugin id="com.springsource.org.quartz"/>
+      <plugin id="com.springsource.org.tmatesoft.svn"/>
+      <plugin id="com.springsource.org.xmlpull"/>
+      <plugin id="com.springsource.slf4j.api"/>
+      <plugin id="com.springsource.slf4j.log4j" fragment="true"/>
+      <plugin id="com.springsource.slf4j.org.apache.commons.logging"/>
+      <plugin id="org.argeo.basic.nodeps"/>
+      <plugin id="org.argeo.dep.org.freecompany.redline"/>
+      <plugin id="org.argeo.dep.osgi.activemq"/>
+      <plugin id="org.argeo.dep.osgi.activemq.optional" fragment="true"/>
+      <plugin id="org.argeo.dep.osgi.aether"/>
+      <plugin id="org.argeo.dep.osgi.boilerpipe"/>
+      <plugin id="org.argeo.dep.osgi.bouncycastle.jdk15"/>
+      <plugin id="org.argeo.dep.osgi.commons.cli"/>
+      <plugin id="org.argeo.dep.osgi.commons.exec"/>
+      <plugin id="org.argeo.dep.osgi.directory.shared.asn.codec" fragment="true"/>
+      <plugin id="org.argeo.dep.osgi.drewnoakes.metadata_extractor"/>
+      <plugin id="org.argeo.dep.osgi.geoapi"/>
+      <plugin id="org.argeo.dep.osgi.geotools"/>
+      <plugin id="org.argeo.dep.osgi.jackrabbit"/>
+      <plugin id="org.argeo.dep.osgi.jai.imageio"/>
+      <plugin id="org.argeo.dep.osgi.java3d"/>
+      <plugin id="org.argeo.dep.osgi.jcr"/>
+      <plugin id="org.argeo.dep.osgi.jsr275"/>
+      <plugin id="org.argeo.dep.osgi.jts"/>
+      <plugin id="org.argeo.dep.osgi.mina.filter.ssl" fragment="true"/>
+      <plugin id="org.argeo.dep.osgi.netcdf"/>
+      <plugin id="org.argeo.dep.osgi.pdfbox"/>
+      <plugin id="org.argeo.dep.osgi.poi"/>
+      <plugin id="org.argeo.dep.osgi.springframework.ldap"/>
+      <plugin id="org.argeo.dep.osgi.tagsoup"/>
+      <plugin id="org.argeo.dep.osgi.tika"/>
+      <plugin id="org.argeo.eclipse.ui"/>
+      <plugin id="org.argeo.security.activemq"/>
+      <plugin id="org.argeo.security.core"/>
+      <plugin id="org.argeo.security.equinox"/>
+      <plugin id="org.argeo.security.ldap"/>
+      <plugin id="org.argeo.security.manager.ldap"/>
+      <plugin id="org.argeo.security.services"/>
+      <plugin id="org.argeo.security.ui"/>
+      <plugin id="org.argeo.security.ui.application"/>
+      <plugin id="org.argeo.server.ads"/>
+      <plugin id="org.argeo.server.ads.server"/>
+      <plugin id="org.argeo.server.core"/>
+      <plugin id="org.argeo.server.ext.jackrabbit" fragment="true"/>
+      <plugin id="org.argeo.server.jdbc" fragment="true"/>
+      <plugin id="org.argeo.server.json"/>
+      <plugin id="org.argeo.server.tika.jackrabbit" fragment="true"/>
+      <plugin id="org.argeo.slc.agent"/>
+      <plugin id="org.argeo.slc.agent.ext.bsf" fragment="true"/>
+      <plugin id="org.argeo.slc.agent.ext.jdbc" fragment="true"/>
+      <plugin id="org.argeo.slc.agent.ext.xalan" fragment="true"/>
+      <plugin id="org.argeo.slc.client.agent"/>
+      <plugin id="org.argeo.slc.client.commons"/>
+      <plugin id="org.argeo.slc.client.core"/>
+      <plugin id="org.argeo.slc.client.hibernate"/>
+      <plugin id="org.argeo.slc.client.oxm"/>
+      <plugin id="org.argeo.slc.client.rcp"/>
+      <plugin id="org.argeo.slc.client.ui"/>
+      <plugin id="org.argeo.slc.client.ui.dist"/>
+      <plugin id="org.argeo.slc.core"/>
+      <plugin id="org.argeo.slc.demo.agent" fragment="true"/>
+      <plugin id="org.argeo.slc.demo.ant"/>
+      <plugin id="org.argeo.slc.demo.basic"/>
+      <plugin id="org.argeo.slc.demo.log4j" fragment="true"/>
+      <plugin id="org.argeo.slc.detached"/>
+      <plugin id="org.argeo.slc.ext.activemq" fragment="true"/>
+      <plugin id="org.argeo.slc.server"/>
+      <plugin id="org.argeo.slc.server.castor"/>
+      <plugin id="org.argeo.slc.server.h2"/>
+      <plugin id="org.argeo.slc.server.hibernate"/>
+      <plugin id="org.argeo.slc.server.services"/>
+      <plugin id="org.argeo.slc.specs"/>
+      <plugin id="org.argeo.slc.support.activemq"/>
+      <plugin id="org.argeo.slc.support.aether"/>
+      <plugin id="org.argeo.slc.support.ant"/>
+      <plugin id="org.argeo.slc.support.castor" fragment="true"/>
+      <plugin id="org.argeo.slc.support.gis"/>
+      <plugin id="org.argeo.slc.support.hibernate" fragment="true"/>
+      <plugin id="org.argeo.slc.support.maven"/>
+      <plugin id="org.argeo.slc.support.osgi"/>
+      <plugin id="org.argeo.slc.support.simple"/>
+      <plugin id="org.eclipse.core.commands"/>
+      <plugin id="org.eclipse.core.contenttype"/>
+      <plugin id="org.eclipse.core.databinding"/>
+      <plugin id="org.eclipse.core.databinding.observable"/>
+      <plugin id="org.eclipse.core.databinding.property"/>
+      <plugin id="org.eclipse.core.expressions"/>
+      <plugin id="org.eclipse.core.jobs"/>
+      <plugin id="org.eclipse.core.runtime"/>
+      <plugin id="org.eclipse.equinox.app"/>
+      <plugin id="org.eclipse.equinox.common"/>
+      <plugin id="org.eclipse.equinox.preferences"/>
+      <plugin id="org.eclipse.equinox.registry"/>
+      <plugin id="org.eclipse.equinox.security"/>
+      <plugin id="org.eclipse.help"/>
+      <plugin id="org.eclipse.jface"/>
+      <plugin id="org.eclipse.jface.databinding"/>
+      <plugin id="org.eclipse.osgi"/>
+      <plugin id="org.eclipse.swt"/>
+      <plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/>
+      <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
+      <plugin id="org.eclipse.ui"/>
+      <plugin id="org.eclipse.ui.forms"/>
+      <plugin id="org.eclipse.ui.workbench"/>
+      <plugin id="org.springframework.aop"/>
+      <plugin id="org.springframework.beans"/>
+      <plugin id="org.springframework.context"/>
+      <plugin id="org.springframework.context.support"/>
+      <plugin id="org.springframework.core"/>
+      <plugin id="org.springframework.jdbc"/>
+      <plugin id="org.springframework.jms"/>
+      <plugin id="org.springframework.orm"/>
+      <plugin id="org.springframework.osgi.core"/>
+      <plugin id="org.springframework.osgi.extender"/>
+      <plugin id="org.springframework.osgi.io"/>
+      <plugin id="org.springframework.oxm"/>
+      <plugin id="org.springframework.security.acls" fragment="true"/>
+      <plugin id="org.springframework.security.core"/>
+      <plugin id="org.springframework.transaction"/>
+      <plugin id="org.springframework.web"/>
+      <plugin id="org.springframework.web.servlet"/>
+      <plugin id="org.springframework.xml"/>
+   </plugins>
+
+   <configurations>
+      <plugin id="org.argeo.security.equinox" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.security.manager.ldap" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.security.services" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.server.ads.server" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.agent" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.client.agent" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.client.commons" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.client.core" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.client.hibernate" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.client.oxm" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.client.rcp" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.client.ui" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.demo.ant" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.demo.basic" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.server.castor" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.server.h2" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.server.hibernate" autoStart="true" startLevel="0" />
+      <plugin id="org.argeo.slc.server.services" autoStart="true" startLevel="0" />
+      <plugin id="org.springframework.osgi.extender" autoStart="true" startLevel="0" />
+   </configurations>
+
+</product>
index cc24140d488204bd18ebe30c85aca9d939345dd8..786668f976dc5cd93e874b6508f5cbbe79f70863 100644 (file)
                        <version>${project.version}</version>
                </dependency>
 
                        <version>${project.version}</version>
                </dependency>
 
+               <dependency>
+                       <groupId>org.argeo.commons.security</groupId>
+                       <artifactId>org.argeo.security.activemq</artifactId>
+                       <version>${version.argeo-commons}</version>
+                       <type>pom</type>
+               </dependency>
+
                <!-- Spring -->
                <dependency>
                        <groupId>org.springframework</groupId>
                <!-- Spring -->
                <dependency>
                        <groupId>org.springframework</groupId>
index 2593a73202f19b15510c0bdbe63e940207b3601c..f2d5eba3cb00edf2196c240bd7d58c88c4eb3352 100644 (file)
@@ -9,16 +9,16 @@
        </parent>
 
        <groupId>org.argeo.slc.dep</groupId>
        </parent>
 
        <groupId>org.argeo.slc.dep</groupId>
-       <artifactId>org.argeo.slc.backend</artifactId>
+       <artifactId>org.argeo.slc.dep.backend</artifactId>
        <name>SLC BACKEND Dependencies</name>
        <name>SLC BACKEND Dependencies</name>
-<!--   <build>-->
-<!--           <plugins>-->
-<!--                   <plugin>-->
-<!--                           <groupId>org.argeo.maven.plugins</groupId>-->
-<!--                           <artifactId>maven-argeo-osgi-plugin</artifactId>-->
-<!--                   </plugin>-->
-<!--           </plugins>-->
-<!--   </build>-->
+       <build>
+               <plugins>
+                       <plugin>
+                               <groupId>org.argeo.maven.plugins</groupId>
+                               <artifactId>maven-argeo-osgi-plugin</artifactId>
+                       </plugin>
+               </plugins>
+       </build>
        <dependencies>
                <!-- HACK because of dependencies pb with Maven: version 2.4.0 is required 
                        by Spring-LDAP while Apache Directory takes 2.1.0 -->
        <dependencies>
                <!-- HACK because of dependencies pb with Maven: version 2.4.0 is required 
                        by Spring-LDAP while Apache Directory takes 2.1.0 -->
                        <artifactId>org.argeo.slc.dep.gis</artifactId>
                        <version>${project.version}</version>
                </dependency>
                        <artifactId>org.argeo.slc.dep.gis</artifactId>
                        <version>${project.version}</version>
                </dependency>
+               <dependency>
+                       <groupId>org.argeo.slc.dep</groupId>
+                       <artifactId>org.argeo.slc.dep.provided</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
 
                <!-- SLC non deps -->
                <dependency>
 
                <!-- SLC non deps -->
                <dependency>
                                        <version>${project.version}</version>
                                        <type>pom</type>
                                </dependency>
                                        <version>${project.version}</version>
                                        <type>pom</type>
                                </dependency>
-                               <dependency>
-                                       <groupId>org.argeo.slc.eclipse</groupId>
-                                       <artifactId>org.argeo.slc.eclipse.plugins.modules.bundles</artifactId>
-                                       <version>${project.version}</version>
-                                       <type>pom</type>
-                               </dependency>
                        </dependencies>
                </profile>
                <profile>
                        </dependencies>
                </profile>
                <profile>
                                        <version>${project.version}</version>
                                        <type>pom</type>
                                </dependency>
                                        <version>${project.version}</version>
                                        <type>pom</type>
                                </dependency>
-                               <dependency>
-                                       <groupId>org.argeo.slc.eclipse</groupId>
-                                       <artifactId>org.argeo.slc.eclipse.plugins.modules.bundles</artifactId>
-                                       <version>${project.version}</version>
-                                       <type>pom</type>
-                               </dependency>
                        </dependencies>
                </profile>
        </profiles>
                        </dependencies>
                </profile>
        </profiles>
index 6894f5fc554a8ea38685f9cfec50a0a347726d23..b3dafd1067fee79b97b43eb61ecc3b9b444d488e 100644 (file)
                        <groupId>org.hibernate</groupId>
                        <artifactId>com.springsource.org.hibernate</artifactId>
                </dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>com.springsource.org.hibernate</artifactId>
                </dependency>
-               <dependency>
-                       <!-- Needed by DOM4j -->
-                       <groupId>javax.xml.stream</groupId>
-                       <artifactId>com.springsource.javax.xml.stream</artifactId>
-               </dependency>
 
        </dependencies>
 </project>
\ No newline at end of file
 
        </dependencies>
 </project>
\ No newline at end of file
diff --git a/dep/org.argeo.slc.dep.provided/pom.xml b/dep/org.argeo.slc.dep.provided/pom.xml
new file mode 100644 (file)
index 0000000..0a417c3
--- /dev/null
@@ -0,0 +1,50 @@
+<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>
+       <parent>
+               <groupId>org.argeo.slc</groupId>
+               <artifactId>dep</artifactId>
+               <version>0.13.1-SNAPSHOT</version>
+               <relativePath>..</relativePath>
+       </parent>
+
+       <groupId>org.argeo.slc.dep</groupId>
+       <artifactId>org.argeo.slc.dep.provided</artifactId>
+       <name>SLC Dependencies Provided</name>
+       <description>Dependencies which may be provided by soem OSGi runtimes</description>
+       <dependencies>
+               <dependency>
+                       <groupId>org.apache.xmlcommons</groupId>
+                       <artifactId>com.springsource.org.apache.xmlcommons</artifactId>
+               </dependency>
+               
+               <dependency>
+                       <groupId>javax.activation</groupId>
+                       <artifactId>com.springsource.javax.activation</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.annotation</groupId>
+                       <artifactId>com.springsource.javax.annotation</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.transaction</groupId>
+                       <artifactId>com.springsource.javax.transaction</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.xml.stream</groupId>
+                       <artifactId>com.springsource.javax.xml.stream</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.xml.bind</groupId>
+                       <artifactId>com.springsource.javax.xml.bind</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.xml.soap</groupId>
+                       <artifactId>com.springsource.javax.xml.soap</artifactId>
+               </dependency>
+               <dependency>
+                       <groupId>javax.xml.ws</groupId>
+                       <artifactId>com.springsource.javax.xml.ws</artifactId>
+               </dependency>
+       </dependencies>
+</project>
\ No newline at end of file
index 4f6ca4d4dca7ca662038d4a0dde561f7f245d0b3..c40ff685f02d4daecaf0d52b4ba499be951c1092 100644 (file)
                        <version>${project.version}</version>
                </dependency>
 
                        <version>${project.version}</version>
                </dependency>
 
-               <!-- Back-end Dependencies -->
                <dependency>
                        <groupId>org.argeo.slc.dep</groupId>
                <dependency>
                        <groupId>org.argeo.slc.dep</groupId>
-                       <artifactId>org.argeo.slc.backend</artifactId>
+                       <artifactId>org.argeo.slc.dep.sdk.rcp</artifactId>
                        <version>${project.version}</version>
                        <version>${project.version}</version>
+                       <exclusions>
+                               <exclusion>
+                                       <groupId>org.argeo.commons.eclipse</groupId>
+                                       <artifactId>org.argeo.eclipse.dep.rcp</artifactId>
+                               </exclusion>
+                               <exclusion>
+                                       <groupId>org.argeo.slc.eclipse</groupId>
+                                       <artifactId>org.argeo.slc.client.rcp</artifactId>
+                               </exclusion>
+                       </exclusions>
                </dependency>
                </dependency>
-
-               <!-- <dependency> <groupId>org.argeo.slc.eclipse</groupId> <artifactId>org.argeo.slc.client.ui</artifactId> 
-                       <version>${project.version}</version> </dependency> -->
-
-               <!-- Commons RAP -->
-               <!-- TO BE DELETED <dependency> <groupId>org.argeo.commons.eclipse</groupId> 
-                       <artifactId>org.argeo.eclipse.dep.rap</artifactId> <version>${version.argeo-commons}</version> 
-                       </dependency> -->
-
        </dependencies>
 </project>
\ No newline at end of file
        </dependencies>
 </project>
\ No newline at end of file
index 29baea42b6aa460e13a963fa814138341bb39235..e786c765cc785fe4bb8593ea1f18848f1f19fe15 100644 (file)
                </plugins>
        </build>
        <dependencies>
                </plugins>
        </build>
        <dependencies>
+               <dependency>
+                       <groupId>org.argeo.slc.eclipse</groupId>
+                       <artifactId>org.argeo.slc.client.ui</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.slc.eclipse</groupId>
+                       <artifactId>org.argeo.slc.client.ui.dist</artifactId>
+                       <version>${project.version}</version>
+               </dependency>
+               <!-- Secure Application -->
+               <dependency>
+                       <groupId>org.argeo.commons.security</groupId>
+                       <artifactId>org.argeo.security.ui.application</artifactId>
+                       <version>${version.argeo-commons}</version>
+               </dependency>
+               
                <dependency>
                        <groupId>org.argeo.slc.eclipse</groupId>
                        <artifactId>org.argeo.slc.client.rcp</artifactId>
                        <version>${project.version}</version>
                </dependency>
                <dependency>
                        <groupId>org.argeo.slc.eclipse</groupId>
                        <artifactId>org.argeo.slc.client.rcp</artifactId>
                        <version>${project.version}</version>
                </dependency>
-               <!-- TO BE DELETED <dependency> <groupId>org.argeo.slc.eclipse</groupId> 
-                       <artifactId>org.argeo.slc.client.ui</artifactId> <version>${project.version}</version> 
-                       </dependency> -->
 
                <!-- Back-end Dependencies -->
                <dependency>
                        <groupId>org.argeo.slc.dep</groupId>
 
                <!-- Back-end Dependencies -->
                <dependency>
                        <groupId>org.argeo.slc.dep</groupId>
-                       <artifactId>org.argeo.slc.backend</artifactId>
+                       <artifactId>org.argeo.slc.dep.backend</artifactId>
                        <version>${project.version}</version>
                </dependency>
        </dependencies>
                        <version>${project.version}</version>
                </dependency>
        </dependencies>
+       <profiles>
+               <profile>
+                       <id>sdkWithModules</id>
+                       <activation>
+                               <activeByDefault>true</activeByDefault>
+                       </activation>
+                       <dependencies>
+                               <dependency>
+                                       <groupId>org.argeo.slc.eclipse</groupId>
+                                       <artifactId>org.argeo.slc.eclipse.modules.bundles</artifactId>
+                                       <version>${project.version}</version>
+                                       <type>pom</type>
+                               </dependency>
+                       </dependencies>
+               </profile>
+               <profile>
+                       <id>sdkWithoutModules</id>
+               </profile>
+               <profile>
+                       <id>release</id>
+                       <properties>
+                               <argeo.p2.repository>/srv/projects/slc/www/sdk</argeo.p2.repository>
+                       </properties>
+                       <dependencies>
+                               <dependency>
+                                       <groupId>org.argeo.slc.eclipse</groupId>
+                                       <artifactId>org.argeo.slc.eclipse.modules.bundles</artifactId>
+                                       <version>${project.version}</version>
+                                       <type>pom</type>
+                               </dependency>
+                       </dependencies>
+               </profile>
+       </profiles>
 </project>
\ No newline at end of file
 </project>
\ No newline at end of file
diff --git a/dep/org.argeo.slc.dep.sdk.rcp/slc-client-rcp.product b/dep/org.argeo.slc.dep.sdk.rcp/slc-client-rcp.product
deleted file mode 100644 (file)
index ed313d7..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?pde version="3.5"?>
-
-<product name="SLC" uid="org.argeo.slc.client.rcp.product" id="org.argeo.slc.client.rcp.product" application="org.argeo.slc.client.rcp.application" version="1.0.0.qualifier" useFeatures="false" includeLaunchers="false">
-
-   <configIni use="default">
-   </configIni>
-
-   <launcherArgs>
-      <programArgs>-console</programArgs>
-      <vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts</vmArgsMac>
-   </launcherArgs>
-
-   <windowImages i16="icons/argeo-icon-256.png"/>
-
-   <launcher>
-      <solaris/>
-      <win useIco="false">
-         <bmp/>
-      </win>
-   </launcher>
-
-   <vm>
-   </vm>
-
-   <plugins>
-      <plugin id="com.ibm.icu"/>
-      <plugin id="com.springsource.antlr"/>
-      <plugin id="com.springsource.bsh"/>
-      <plugin id="com.springsource.com.jcraft.jsch"/>
-      <plugin id="com.springsource.com.lowagie.text"/>
-      <plugin id="com.springsource.com.mysql.jdbc"/>
-      <plugin id="com.springsource.com.sun.syndication"/>
-      <plugin id="com.springsource.com.thoughtworks.xstream"/>
-      <plugin id="com.springsource.edu.emory.mathcs.backport"/>
-      <plugin id="com.springsource.edu.oswego.cs.dl.util.concurrent"/>
-      <plugin id="com.springsource.javassist"/>
-      <plugin id="com.springsource.javax.activation"/>
-      <plugin id="com.springsource.javax.annotation"/>
-      <plugin id="com.springsource.javax.ejb"/>
-      <plugin id="com.springsource.javax.el"/>
-      <plugin id="com.springsource.javax.jms"/>
-      <plugin id="com.springsource.javax.mail"/>
-      <plugin id="com.springsource.javax.management.j2ee"/>
-      <plugin id="com.springsource.javax.media.jai.codec"/>
-      <plugin id="com.springsource.javax.media.jai.core"/>
-      <plugin id="com.springsource.javax.persistence"/>
-      <plugin id="com.springsource.javax.resource"/>
-      <plugin id="com.springsource.javax.servlet"/>
-      <plugin id="com.springsource.javax.servlet.jsp"/>
-      <plugin id="com.springsource.javax.servlet.jsp.jstl"/>
-      <plugin id="com.springsource.javax.transaction"/>
-      <plugin id="com.springsource.javax.xml.bind"/>
-      <plugin id="com.springsource.javax.xml.rpc"/>
-      <plugin id="com.springsource.javax.xml.soap"/>
-      <plugin id="com.springsource.javax.xml.stream"/>
-      <plugin id="com.springsource.javax.xml.ws"/>
-      <plugin id="com.springsource.jcifs"/>
-      <plugin id="com.springsource.jdbm"/>
-      <plugin id="com.springsource.json"/>
-      <plugin id="com.springsource.junit"/>
-      <plugin id="com.springsource.jxl"/>
-      <plugin id="com.springsource.net.sf.cglib"/>
-      <plugin id="com.springsource.net.sf.ehcache"/>
-      <plugin id="com.springsource.net.sourceforge.jtds"/>
-      <plugin id="com.springsource.org.antlr"/>
-      <plugin id="com.springsource.org.aopalliance"/>
-      <plugin id="com.springsource.org.apache.bsf"/>
-      <plugin id="com.springsource.org.apache.commons.beanutils"/>
-      <plugin id="com.springsource.org.apache.commons.codec"/>
-      <plugin id="com.springsource.org.apache.commons.collections"/>
-      <plugin id="com.springsource.org.apache.commons.compress"/>
-      <plugin id="com.springsource.org.apache.commons.dbcp"/>
-      <plugin id="com.springsource.org.apache.commons.fileupload"/>
-      <plugin id="com.springsource.org.apache.commons.httpclient"/>
-      <plugin id="com.springsource.org.apache.commons.io"/>
-      <plugin id="com.springsource.org.apache.commons.lang"/>
-      <plugin id="com.springsource.org.apache.commons.net"/>
-      <plugin id="com.springsource.org.apache.commons.pool"/>
-      <plugin id="com.springsource.org.apache.commons.vfs"/>
-      <plugin id="com.springsource.org.apache.derby"/>
-      <plugin id="com.springsource.org.apache.directory.server.changepw"/>
-      <plugin id="com.springsource.org.apache.directory.server.core" fragment="true"/>
-      <plugin id="com.springsource.org.apache.directory.server.core.shared"/>
-      <plugin id="com.springsource.org.apache.directory.server.jndi"/>
-      <plugin id="com.springsource.org.apache.directory.server.kerberos"/>
-      <plugin id="com.springsource.org.apache.directory.server.kerberos.shared"/>
-      <plugin id="com.springsource.org.apache.directory.server.ldap"/>
-      <plugin id="com.springsource.org.apache.directory.server.ntp"/>
-      <plugin id="com.springsource.org.apache.directory.server.protocol.shared"/>
-      <plugin id="com.springsource.org.apache.directory.shared.asn1"/>
-      <plugin id="com.springsource.org.apache.directory.shared.ldap"/>
-      <plugin id="com.springsource.org.apache.log4j"/>
-      <plugin id="com.springsource.org.apache.lucene"/>
-      <plugin id="com.springsource.org.apache.mina"/>
-      <plugin id="com.springsource.org.apache.oro"/>
-      <plugin id="com.springsource.org.apache.regexp"/>
-      <plugin id="com.springsource.org.apache.taglibs.standard"/>
-      <plugin id="com.springsource.org.apache.tools.ant"/>
-      <plugin id="com.springsource.org.apache.tools.ant.launch"/>
-      <plugin id="com.springsource.org.apache.ws.commons.schema"/>
-      <plugin id="com.springsource.org.apache.xalan"/>
-      <plugin id="com.springsource.org.apache.xerces" fragment="true"/>
-      <plugin id="com.springsource.org.apache.xml.resolver"/>
-      <plugin id="com.springsource.org.apache.xml.serializer"/>
-      <plugin id="com.springsource.org.apache.xmlbeans"/>
-      <plugin id="com.springsource.org.apache.xmlcommons"/>
-      <plugin id="com.springsource.org.aspectj.runtime"/>
-      <plugin id="com.springsource.org.aspectj.weaver"/>
-      <plugin id="com.springsource.org.castor"/>
-      <plugin id="com.springsource.org.codehaus.jackson"/>
-      <plugin id="com.springsource.org.codehaus.jackson.mapper"/>
-      <plugin id="com.springsource.org.cyberneko.html"/>
-      <plugin id="com.springsource.org.dbunit"/>
-      <plugin id="com.springsource.org.dom4j"/>
-      <plugin id="com.springsource.org.h2"/>
-      <plugin id="com.springsource.org.hibernate"/>
-      <plugin id="com.springsource.org.hsqldb"/>
-      <plugin id="com.springsource.org.jaxen"/>
-      <plugin id="com.springsource.org.jdom"/>
-      <plugin id="com.springsource.org.jgroups"/>
-      <plugin id="com.springsource.org.mortbay.jetty.server"/>
-      <plugin id="com.springsource.org.mortbay.util"/>
-      <plugin id="com.springsource.org.objectweb.asm"/>
-      <plugin id="com.springsource.org.postgresql.jdbc3"/>
-      <plugin id="com.springsource.org.quartz"/>
-      <plugin id="com.springsource.org.tmatesoft.svn"/>
-      <plugin id="com.springsource.org.xmlpull"/>
-      <plugin id="com.springsource.slf4j.api"/>
-      <plugin id="com.springsource.slf4j.log4j" fragment="true"/>
-      <plugin id="com.springsource.slf4j.org.apache.commons.logging"/>
-      <plugin id="org.argeo.basic.nodeps"/>
-      <plugin id="org.argeo.dep.org.freecompany.redline"/>
-      <plugin id="org.argeo.dep.osgi.activemq"/>
-      <plugin id="org.argeo.dep.osgi.activemq.optional" fragment="true"/>
-      <plugin id="org.argeo.dep.osgi.aether"/>
-      <plugin id="org.argeo.dep.osgi.boilerpipe"/>
-      <plugin id="org.argeo.dep.osgi.bouncycastle.jdk15"/>
-      <plugin id="org.argeo.dep.osgi.commons.cli"/>
-      <plugin id="org.argeo.dep.osgi.commons.exec"/>
-      <plugin id="org.argeo.dep.osgi.directory.shared.asn.codec" fragment="true"/>
-      <plugin id="org.argeo.dep.osgi.drewnoakes.metadata_extractor"/>
-      <plugin id="org.argeo.dep.osgi.geoapi"/>
-      <plugin id="org.argeo.dep.osgi.geotools"/>
-      <plugin id="org.argeo.dep.osgi.jackrabbit"/>
-      <plugin id="org.argeo.dep.osgi.jai.imageio"/>
-      <plugin id="org.argeo.dep.osgi.java3d"/>
-      <plugin id="org.argeo.dep.osgi.jcr"/>
-      <plugin id="org.argeo.dep.osgi.jsr275"/>
-      <plugin id="org.argeo.dep.osgi.jts"/>
-      <plugin id="org.argeo.dep.osgi.mina.filter.ssl" fragment="true"/>
-      <plugin id="org.argeo.dep.osgi.netcdf"/>
-      <plugin id="org.argeo.dep.osgi.pdfbox"/>
-      <plugin id="org.argeo.dep.osgi.poi"/>
-      <plugin id="org.argeo.dep.osgi.springframework.ldap"/>
-      <plugin id="org.argeo.dep.osgi.tagsoup"/>
-      <plugin id="org.argeo.dep.osgi.tika"/>
-      <plugin id="org.argeo.eclipse.ui"/>
-      <plugin id="org.argeo.security.core"/>
-      <plugin id="org.argeo.security.manager.ldap"/>
-      <plugin id="org.argeo.security.services"/>
-      <plugin id="org.argeo.server.core"/>
-      <plugin id="org.argeo.server.ext.jackrabbit" fragment="true"/>
-      <plugin id="org.argeo.server.jdbc" fragment="true"/>
-      <plugin id="org.argeo.server.json"/>
-      <plugin id="org.argeo.server.tika.jackrabbit" fragment="true"/>
-      <plugin id="org.argeo.slc.agent"/>
-      <plugin id="org.argeo.slc.agent.ext.bsf" fragment="true"/>
-      <plugin id="org.argeo.slc.agent.ext.jdbc" fragment="true"/>
-      <plugin id="org.argeo.slc.agent.ext.xalan" fragment="true"/>
-      <plugin id="org.argeo.slc.client.agent"/>
-      <plugin id="org.argeo.slc.client.commons"/>
-      <plugin id="org.argeo.slc.client.core"/>
-      <plugin id="org.argeo.slc.client.hibernate"/>
-      <plugin id="org.argeo.slc.client.oxm"/>
-      <plugin id="org.argeo.slc.client.rcp"/>
-      <plugin id="org.argeo.slc.client.ui"/>
-      <plugin id="org.argeo.slc.core"/>
-      <plugin id="org.argeo.slc.demo.agent" fragment="true"/>
-      <plugin id="org.argeo.slc.demo.ant"/>
-      <plugin id="org.argeo.slc.demo.basic"/>
-      <plugin id="org.argeo.slc.demo.log4j" fragment="true"/>
-      <plugin id="org.argeo.slc.detached"/>
-      <plugin id="org.argeo.slc.ext.activemq" fragment="true"/>
-      <plugin id="org.argeo.slc.server"/>
-      <plugin id="org.argeo.slc.server.castor"/>
-      <plugin id="org.argeo.slc.server.h2"/>
-      <plugin id="org.argeo.slc.server.hibernate"/>
-      <plugin id="org.argeo.slc.server.services"/>
-      <plugin id="org.argeo.slc.specs"/>
-      <plugin id="org.argeo.slc.support.activemq"/>
-      <plugin id="org.argeo.slc.support.aether"/>
-      <plugin id="org.argeo.slc.support.ant"/>
-      <plugin id="org.argeo.slc.support.castor" fragment="true"/>
-      <plugin id="org.argeo.slc.support.gis"/>
-      <plugin id="org.argeo.slc.support.hibernate" fragment="true"/>
-      <plugin id="org.argeo.slc.support.maven"/>
-      <plugin id="org.argeo.slc.support.osgi"/>
-      <plugin id="org.argeo.slc.support.simple"/>
-      <plugin id="org.eclipse.core.commands"/>
-      <plugin id="org.eclipse.core.contenttype"/>
-      <plugin id="org.eclipse.core.databinding"/>
-      <plugin id="org.eclipse.core.databinding.observable"/>
-      <plugin id="org.eclipse.core.databinding.property"/>
-      <plugin id="org.eclipse.core.expressions"/>
-      <plugin id="org.eclipse.core.jobs"/>
-      <plugin id="org.eclipse.core.runtime"/>
-      <plugin id="org.eclipse.equinox.app"/>
-      <plugin id="org.eclipse.equinox.common"/>
-      <plugin id="org.eclipse.equinox.preferences"/>
-      <plugin id="org.eclipse.equinox.registry"/>
-      <plugin id="org.eclipse.help"/>
-      <plugin id="org.eclipse.jface"/>
-      <plugin id="org.eclipse.jface.databinding"/>
-      <plugin id="org.eclipse.osgi"/>
-      <plugin id="org.eclipse.swt"/>
-      <plugin id="org.eclipse.swt.gtk.linux.x86" fragment="true"/>
-      <plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/>
-      <plugin id="org.eclipse.swt.win32.win32.x86" fragment="true"/>
-      <plugin id="org.eclipse.ui"/>
-      <plugin id="org.eclipse.ui.workbench"/>
-      <plugin id="org.springframework.aop"/>
-      <plugin id="org.springframework.beans"/>
-      <plugin id="org.springframework.context"/>
-      <plugin id="org.springframework.context.support"/>
-      <plugin id="org.springframework.core"/>
-      <plugin id="org.springframework.jdbc"/>
-      <plugin id="org.springframework.jms"/>
-      <plugin id="org.springframework.orm"/>
-      <plugin id="org.springframework.osgi.core"/>
-      <plugin id="org.springframework.osgi.extender"/>
-      <plugin id="org.springframework.osgi.io"/>
-      <plugin id="org.springframework.oxm"/>
-      <plugin id="org.springframework.security.acls" fragment="true"/>
-      <plugin id="org.springframework.security.core"/>
-      <plugin id="org.springframework.transaction"/>
-      <plugin id="org.springframework.web"/>
-      <plugin id="org.springframework.web.servlet"/>
-      <plugin id="org.springframework.xml"/>
-   </plugins>
-
-   <configurations>
-      <plugin id="org.argeo.security.manager.ldap" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.security.services" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.agent" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.client.agent" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.client.commons" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.client.core" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.client.hibernate" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.client.oxm" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.client.rcp" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.client.ui" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.demo.ant" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.demo.basic" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.server.castor" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.server.h2" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.server.hibernate" autoStart="true" startLevel="0" />
-      <plugin id="org.argeo.slc.server.services" autoStart="true" startLevel="0" />
-      <plugin id="org.springframework.osgi.extender" autoStart="true" startLevel="0" />
-   </configurations>
-
-</product>
index fee0b63e6691670bd8608b4d18e56ff1e2ade33a..6fe4f99a8f083dbaf9fa15fa824d61098ddc93b4 100644 (file)
                        <artifactId>org.argeo.slc.support.jcr</artifactId>
                        <version>${project.version}</version>
                </dependency>
                        <artifactId>org.argeo.slc.support.jcr</artifactId>
                        <version>${project.version}</version>
                </dependency>
-               <dependency>
-                       <groupId>org.argeo.slc.runtime</groupId>
-                       <artifactId>org.argeo.slc.support.ws.client</artifactId>
-                       <version>${project.version}</version>
-               </dependency>
                <dependency>
                        <groupId>org.argeo.slc.runtime</groupId>
                        <artifactId>org.argeo.slc.repo</artifactId>
                <dependency>
                        <groupId>org.argeo.slc.runtime</groupId>
                        <artifactId>org.argeo.slc.repo</artifactId>
                        <version>${version.argeo-commons}</version>
                        <type>pom</type>
                </dependency>
                        <version>${version.argeo-commons}</version>
                        <type>pom</type>
                </dependency>
+               <dependency>
+                       <groupId>org.argeo.commons.security</groupId>
+                       <artifactId>org.argeo.security.ldap</artifactId>
+                       <version>${version.argeo-commons}</version>
+               </dependency>
 
                <!-- Security -->
                <dependency>
 
                <!-- Security -->
                <dependency>
                </dependency>
 
                <!-- JEE -->
                </dependency>
 
                <!-- JEE -->
-               <dependency>
-                       <groupId>javax.annotation</groupId>
-                       <artifactId>com.springsource.javax.annotation</artifactId>
-               </dependency>
                <dependency>
                        <groupId>javax.persistence</groupId>
                        <artifactId>com.springsource.javax.persistence</artifactId>
                <dependency>
                        <groupId>javax.persistence</groupId>
                        <artifactId>com.springsource.javax.persistence</artifactId>
index ea056d031ee7f1d44ae8368ed9ea43cf65d25c1a..be5f94f714bc73be44af2fe5e1f1b769c42b9230 100644 (file)
@@ -15,6 +15,7 @@
                <module>org.argeo.slc.dep.server</module>
                <module>org.argeo.slc.dep.detached</module>
                <module>org.argeo.slc.dep.gis</module>
                <module>org.argeo.slc.dep.server</module>
                <module>org.argeo.slc.dep.detached</module>
                <module>org.argeo.slc.dep.gis</module>
+               <module>org.argeo.slc.dep.provided</module>
                <module>org.argeo.slc.dep.backend</module>
                <module>org.argeo.slc.dep.sdk.rcp</module>
                <module>org.argeo.slc.dep.sdk.rap</module>
                <module>org.argeo.slc.dep.backend</module>
                <module>org.argeo.slc.dep.sdk.rcp</module>
                <module>org.argeo.slc.dep.sdk.rap</module>
index 5b9ab28492c99d6808f5dfb498f197f2234ecbc7..555b6c93fd7e9c8f5b7c3ca3a4bf93334d1c350e 100644 (file)
                        <artifactId>org.argeo.slc.dep.sdk.rcp</artifactId>
                        <version>${project.version}</version>
                </dependency>
                        <artifactId>org.argeo.slc.dep.sdk.rcp</artifactId>
                        <version>${project.version}</version>
                </dependency>
-               <!-- TO BE DELETED <dependency> <groupId>org.argeo.slc.dep</groupId> <artifactId>org.argeo.slc.dep.sdk.sources</artifactId> 
-                       <version>${project.version}</version> </dependency> -->
        </dependencies>
        <profiles>
                <profile>
        </dependencies>
        <profiles>
                <profile>
index 258907dcaf59224b2f4fe46d5259e4860532b0ec..9fd4f84bfba1481623deb19283c0297b08eff1e9 100644 (file)
@@ -17,7 +17,7 @@
                                <artifactId>maven-argeo-osgi-plugin</artifactId>
                                <extensions>true</extensions>
                                <configuration>
                                <artifactId>maven-argeo-osgi-plugin</artifactId>
                                <extensions>true</extensions>
                                <configuration>
-                                       <bundlesPomArtifactId>org.argeo.slc.eclipse.plugins.modules.bundles</bundlesPomArtifactId>
+                                       <bundlesPomArtifactId>org.argeo.slc.eclipse.modules.bundles</bundlesPomArtifactId>
                                </configuration>
                        </plugin>
                </plugins>
                                </configuration>
                        </plugin>
                </plugins>
index 788114fb3187f1c7ad187aa4b714740ca3753dd5..632f08d271e34d52289e1cfa21efdb39f42fad8c 100644 (file)
@@ -4,9 +4,11 @@ Bundle-Name: Dist
 Bundle-SymbolicName: org.argeo.slc.client.ui.dist;singleton:=true
 Bundle-Version: 0.13.1.SNAPSHOT
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-SymbolicName: org.argeo.slc.client.ui.dist;singleton:=true
 Bundle-Version: 0.13.1.SNAPSHOT
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Require-Bundle: org.eclipse.ui;bundle-version="3.6.1",
- org.eclipse.core.runtime;bundle-version="3.6.0"
+Require-Bundle: org.eclipse.ui;resolution:=optional,
+ org.eclipse.rap.ui;resolution:=optional,
+ org.eclipse.core.runtime
 Bundle-Activator: org.argeo.slc.client.ui.dist.DistPlugin
 Bundle-Activator: org.argeo.slc.client.ui.dist.DistPlugin
-Import-Package: aQute.lib.osgi,
+Import-Package: aQute.lib.osgi;resolution:=optional,
+ org.apache.commons.logging;version="1.1.1",
  org.argeo.eclipse.ui
 Bundle-ActivationPolicy: lazy
  org.argeo.eclipse.ui
 Bundle-ActivationPolicy: lazy
diff --git a/eclipse/plugins/org.argeo.slc.client.ui.dist/org.argeo.slc.client.ui.dist.jar b/eclipse/plugins/org.argeo.slc.client.ui.dist/org.argeo.slc.client.ui.dist.jar
deleted file mode 100644 (file)
index 676dc77..0000000
Binary files a/eclipse/plugins/org.argeo.slc.client.ui.dist/org.argeo.slc.client.ui.dist.jar and /dev/null differ
diff --git a/eclipse/plugins/org.argeo.slc.client.ui.dist/pom.xml b/eclipse/plugins/org.argeo.slc.client.ui.dist/pom.xml
new file mode 100644 (file)
index 0000000..937e35d
--- /dev/null
@@ -0,0 +1,34 @@
+<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>
+       <parent>
+               <groupId>org.argeo.slc.eclipse</groupId>
+               <artifactId>plugins</artifactId>
+               <version>0.13.1-SNAPSHOT</version>
+               <relativePath>..</relativePath>
+       </parent>
+       <artifactId>org.argeo.slc.client.ui.dist</artifactId>
+       <name>SLC Client UI Distribution</name>
+       <packaging>jar</packaging>
+
+
+       <dependencies>
+               <!-- Eclipse and RCP only dependency, needed at compile time -->
+               <dependency>
+                       <groupId>org.argeo.commons.eclipse</groupId>
+                       <artifactId>org.argeo.eclipse.dep.rcp</artifactId>
+                       <version>${version.argeo-commons}</version>
+                       <scope>provided</scope>
+               </dependency>
+               <dependency>
+                       <groupId>org.argeo.commons.eclipse</groupId>
+                       <artifactId>org.argeo.eclipse.ui</artifactId>
+                       <version>${version.argeo-commons}</version>
+               </dependency>
+
+               <dependency>
+                       <groupId>org.argeo.dep.osgi</groupId>
+                       <artifactId>org.argeo.dep.osgi.bnd</artifactId>
+               </dependency>
+       </dependencies>
+</project>
index 013cc15216bcf67ed985912cee1fa16d2b06eb80..d0fac981d7f209db13b56dc335e44523e717dcbd 100644 (file)
@@ -1,8 +1,15 @@
 package org.argeo.slc.client.ui.dist.views;
 
 package org.argeo.slc.client.ui.dist.views;
 
+import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
 import java.util.Set;
 import java.util.Set;
+import java.util.TreeMap;
 import java.util.TreeSet;
 
 import java.util.TreeSet;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.argeo.eclipse.ui.TreeObject;
 import org.argeo.eclipse.ui.TreeParent;
 import org.argeo.slc.client.ui.dist.DistPlugin;
 import org.argeo.eclipse.ui.TreeObject;
 import org.argeo.eclipse.ui.TreeParent;
 import org.argeo.slc.client.ui.dist.DistPlugin;
@@ -18,10 +25,26 @@ import org.eclipse.ui.part.ViewPart;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
+import org.osgi.service.packageadmin.ExportedPackage;
+import org.osgi.service.packageadmin.PackageAdmin;
 
 public class ModulesView extends ViewPart {
 
 public class ModulesView extends ViewPart {
+       private final static Log log = LogFactory.getLog(ModulesView.class);
+
        private TreeViewer viewer;
 
        private TreeViewer viewer;
 
+       private PackageAdmin packageAdmin;
+
+       private Comparator<ExportedPackage> exportedPackageComparator = new Comparator<ExportedPackage>() {
+
+               public int compare(ExportedPackage o1, ExportedPackage o2) {
+                       if (!o1.getName().equals(o2.getName()))
+                               return o1.getName().compareTo(o2.getName());
+                       else
+                               return o1.getVersion().compareTo(o2.getVersion());
+               }
+       };
+
        @Override
        public void createPartControl(Composite parent) {
                viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
        @Override
        public void createPartControl(Composite parent) {
                viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
@@ -45,12 +68,102 @@ public class ModulesView extends ViewPart {
                        if (parentElement instanceof BundleContext) {
                                BundleContext bundleContext = (BundleContext) parentElement;
                                Bundle[] bundles = bundleContext.getBundles();
                        if (parentElement instanceof BundleContext) {
                                BundleContext bundleContext = (BundleContext) parentElement;
                                Bundle[] bundles = bundleContext.getBundles();
-                               Set<ModuleNode> moduleNodes = new TreeSet<ModulesView.ModuleNode>();
+
+                               TreeParent bundlesNode = new TreeParent("Bundles");
                                for (Bundle bundle : bundles) {
                                        if (bundle.getState() == Bundle.ACTIVE)
                                for (Bundle bundle : bundles) {
                                        if (bundle.getState() == Bundle.ACTIVE)
-                                               moduleNodes.add(new ModuleNode(bundle));
+                                               bundlesNode.addChild(new BundleNode(bundle));
                                }
                                }
-                               return moduleNodes.toArray();
+
+                               // scan packages
+                               ServiceReference paSr = bundleContext
+                                               .getServiceReference(PackageAdmin.class.getName());
+                               // TODO: make a cleaner referencing
+                               packageAdmin = (PackageAdmin) bundleContext.getService(paSr);
+
+                               Bundle bundle1 = null;
+                               Bundle bundle2 = null;
+
+                               Map<Bundle, Set<ExportedPackage>> importedPackages = new HashMap<Bundle, Set<ExportedPackage>>();
+                               Map<String, Set<ExportedPackage>> packages = new TreeMap<String, Set<ExportedPackage>>();
+                               for (Bundle bundle : bundles) {
+                                       if (bundle.getSymbolicName()
+                                                       .equals("org.argeo.security.ui"))
+                                               bundle1 = bundle;
+                                       if (bundle.getSymbolicName().equals(
+                                                       "org.argeo.security.equinox"))
+                                               bundle2 = bundle;
+
+                                       ExportedPackage[] pkgs = packageAdmin
+                                                       .getExportedPackages(bundle);
+                                       if (pkgs != null)
+                                               for (ExportedPackage pkg : pkgs) {
+                                                       if (!packages.containsKey(pkg.getName()))
+                                                               packages.put(pkg.getName(),
+                                                                               new TreeSet<ExportedPackage>(
+                                                                                               exportedPackageComparator));
+                                                       Set<ExportedPackage> expPackages = (Set<ExportedPackage>) packages
+                                                                       .get(pkg.getName());
+                                                       expPackages.add(pkg);
+
+                                                       // imported
+                                                       for (Bundle b : pkg.getImportingBundles()) {
+                                                               if (bundle.getBundleId() != b.getBundleId()) {
+                                                                       if (!importedPackages.containsKey(b))
+                                                                               importedPackages
+                                                                                               .put(b,
+                                                                                                               new TreeSet<ExportedPackage>(
+                                                                                                                               exportedPackageComparator));
+                                                                       Set<ExportedPackage> impPackages = (Set<ExportedPackage>) importedPackages
+                                                                                       .get(b);
+                                                                       impPackages.add(pkg);
+                                                               }
+                                                       }
+                                               }
+                               }
+
+                               TreeParent mPackageNode = new TreeParent("Multiple Packages");
+                               TreeParent aPackageNode = new TreeParent("All Packages");
+                               for (String packageName : packages.keySet()) {
+                                       Set<ExportedPackage> pkgs = packages.get(packageName);
+                                       if (pkgs.size() > 1) {
+                                               MultiplePackagesNode mpn = new MultiplePackagesNode(
+                                                               packageName, pkgs);
+                                               mPackageNode.addChild(mpn);
+                                               aPackageNode.addChild(mpn);
+                                       } else {
+                                               aPackageNode.addChild(new ExportedPackageNode(pkgs
+                                                               .iterator().next()));
+                                       }
+                               }
+
+                               Map<String, Set<String>> traces1 = new TreeMap<String, Set<String>>();
+                               Map<String, ExportedPackage> space1 = dependencySpace(bundle1,
+                                               importedPackages, traces1);
+                               Map<String, Set<String>> traces2 = new TreeMap<String, Set<String>>();
+                               Map<String, ExportedPackage> space2 = dependencySpace(bundle2,
+                                               importedPackages, traces2);
+                               for (String key : space1.keySet()) {
+                                       if (space2.containsKey(key)) {
+                                               ExportedPackage pkg1 = space1.get(key);
+                                               ExportedPackage pkg2 = space2.get(key);
+                                               if (!pkg1.getVersion().equals(pkg2.getVersion())) {
+                                                       log.debug("\n##" + pkg1 + " <> " + pkg2);
+                                                       log.debug("# Traces for "
+                                                                       + bundle1.getSymbolicName());
+                                                       for (String trace : traces1.get(pkg1.getName())) {
+                                                               log.debug(trace);
+                                                       }
+                                                       log.debug("# Traces for "
+                                                                       + bundle2.getSymbolicName());
+                                                       for (String trace : traces2.get(pkg2.getName())) {
+                                                               log.debug(trace);
+                                                       }
+                                               }
+                                       }
+                               }
+
+                               return new Object[] { bundlesNode, mPackageNode, aPackageNode };
                        } else if (parentElement instanceof TreeParent) {
                                return ((TreeParent) parentElement).getChildren();
                        } else {
                        } else if (parentElement instanceof TreeParent) {
                                return ((TreeParent) parentElement).getChildren();
                        } else {
@@ -82,6 +195,40 @@ public class ModulesView extends ViewPart {
 
        }
 
 
        }
 
+       protected Map<String, ExportedPackage> dependencySpace(Bundle bundle,
+                       Map<Bundle, Set<ExportedPackage>> importedPackages,
+                       Map<String, Set<String>> traces) {
+               log.debug("Dependency space for " + bundle.getSymbolicName());
+               Map<String, ExportedPackage> space = new TreeMap<String, ExportedPackage>();
+               fillDependencySpace(space, bundle, importedPackages,
+                               bundle.getSymbolicName(), traces);
+               return space;
+       }
+
+       /** Recursive */
+       protected void fillDependencySpace(Map<String, ExportedPackage> space,
+                       Bundle bundle, Map<Bundle, Set<ExportedPackage>> importedPackages,
+                       String currTrace, Map<String, Set<String>> traces) {
+               if (importedPackages.containsKey(bundle)) {
+                       Set<ExportedPackage> imports = importedPackages.get(bundle);
+                       // log.debug("## Fill dependency space for " + bundle + " : ");
+                       for (ExportedPackage pkg : imports) {
+                               if (!traces.containsKey(pkg.getName()))
+                                       traces.put(pkg.getName(), new TreeSet<String>());
+                               traces.get(pkg.getName()).add(currTrace);
+                               if (!space.containsKey(pkg.getName())) {
+                                       space.put(pkg.getName(), pkg);
+                                       Bundle exportingBundle = pkg.getExportingBundle();
+                                       // if (bundle.getBundleId() !=
+                                       // exportingBundle.getBundleId())
+                                       fillDependencySpace(space, exportingBundle,
+                                                       importedPackages, currTrace + " > "
+                                                                       + exportingBundle.getSymbolicName(), traces);
+                               }
+                       }
+               }
+       }
+
        private class ModulesLabelProvider extends LabelProvider implements
                        ITableLabelProvider {
 
        private class ModulesLabelProvider extends LabelProvider implements
                        ITableLabelProvider {
 
@@ -96,10 +243,10 @@ public class ModulesView extends ViewPart {
 
        }
 
 
        }
 
-       class ModuleNode extends TreeParent {
+       class BundleNode extends TreeParent {
                private final Bundle bundle;
 
                private final Bundle bundle;
 
-               public ModuleNode(Bundle bundle) {
+               public BundleNode(Bundle bundle) {
                        super(bundle.getSymbolicName());
                        this.bundle = bundle;
 
                        super(bundle.getSymbolicName());
                        this.bundle = bundle;
 
@@ -167,4 +314,75 @@ public class ModulesView extends ViewPart {
                }
 
        }
                }
 
        }
+
+       class MultiplePackagesNode extends TreeParent {
+               private String packageName;
+               private Set<ExportedPackage> exportedPackages;
+
+               public MultiplePackagesNode(String packageName,
+                               Set<ExportedPackage> exportedPackages) {
+                       super(packageName);
+                       this.packageName = packageName;
+                       this.exportedPackages = exportedPackages;
+                       for (ExportedPackage pkg : exportedPackages) {
+                               addChild(new ExportedPackageNode(pkg));
+                       }
+               }
+
+       }
+
+       class ConflictingPackageNode extends TreeParent {
+               private ExportedPackage exportedPackage;
+
+               public ConflictingPackageNode(ExportedPackage exportedPackage) {
+                       super(exportedPackage.getName() + " - "
+                                       + exportedPackage.getVersion() + " ("
+                                       + exportedPackage.getExportingBundle() + ")");
+                       this.exportedPackage = exportedPackage;
+
+                       TreeParent bundlesNode = new TreeParent("Dependent Bundles");
+                       this.addChild(bundlesNode);
+                       Map<String, Bundle> bundles = new TreeMap<String, Bundle>();
+                       for (Bundle b : exportedPackage.getImportingBundles()) {
+                               bundles.put(b.getSymbolicName(), b);
+                       }
+                       for (String key : bundles.keySet()) {
+                               addDependentBundles(bundlesNode, bundles.get(key));
+                       }
+               }
+       }
+
+       protected void addDependentBundles(TreeParent parent, Bundle bundle) {
+               TreeParent bundleNode = new TreeParent(bundle.toString());
+               parent.addChild(bundleNode);
+               Map<String, Bundle> bundles = new TreeMap<String, Bundle>();
+               ExportedPackage[] pkgs = packageAdmin.getExportedPackages(bundle);
+               if (pkgs != null)
+                       for (ExportedPackage pkg : pkgs) {
+                               for (Bundle b : pkg.getImportingBundles()) {
+                                       if (!bundles.containsKey(b.getSymbolicName())
+                                                       && b.getBundleId() != bundle.getBundleId()) {
+                                               bundles.put(b.getSymbolicName(), b);
+                                       }
+                               }
+                       }
+
+               for (String key : bundles.keySet()) {
+                       addDependentBundles(bundleNode, bundles.get(key));
+               }
+       }
+
+       class ExportedPackageNode extends TreeParent {
+               private ExportedPackage exportedPackage;
+
+               public ExportedPackageNode(ExportedPackage exportedPackage) {
+                       super(exportedPackage.getName() + " - "
+                                       + exportedPackage.getVersion() + " ("
+                                       + exportedPackage.getExportingBundle() + ")");
+                       this.exportedPackage = exportedPackage;
+                       for (Bundle bundle : exportedPackage.getImportingBundles()) {
+                               addChild(new BundleNode(bundle));
+                       }
+               }
+       }
 }
 }
index ce8b8d2c4caee5b2daa231bb0f5b563c99dfb62a..2612c90f4722024dccf671e135de952e091a895b 100644 (file)
@@ -13,6 +13,7 @@
 
        <modules>
                <module>org.argeo.slc.client.ui</module>
 
        <modules>
                <module>org.argeo.slc.client.ui</module>
+               <module>org.argeo.slc.client.ui.dist</module>
                <module>org.argeo.slc.client.rcp</module>
                <module>org.argeo.slc.client.rap</module>
        </modules>
                <module>org.argeo.slc.client.rcp</module>
                <module>org.argeo.slc.client.rap</module>
        </modules>
index 1754cbe0bf611daa995fe256227e310490e908e8..51d5311a8bb03bde25e17d430c75289df402f89e 100644 (file)
@@ -1,4 +1,5 @@
-<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">
+<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>
        <parent>
                <groupId>org.argeo.slc</groupId>
        <modelVersion>4.0.0</modelVersion>
        <parent>
                <groupId>org.argeo.slc</groupId>
index 39daf0f942b1f720528f55653809338c2de479fe..eacbf848ebde16b4606e2f3f7ed3108f150b643b 100644 (file)
                                <entry key="slc" value="http://www.argeo.org/slc" />
                        </map>
                </property>
                                <entry key="slc" value="http://www.argeo.org/slc" />
                        </map>
                </property>
-               <!-- <property name="cndFiles"> -->
-               <!-- <list> -->
-               <!-- <value>classpath:/org/argeo/slc/repo/repo.cnd</value> -->
-               <!-- </list> -->
-               <!-- </property> -->
+               <property name="cndFiles">
+                       <list>
+                               <value>classpath:/org/argeo/slc/repo/repo.cnd</value>
+                       </list>
+               </property>
        </bean>
 </beans>
\ No newline at end of file
        </bean>
 </beans>
\ No newline at end of file
index 45fcf7bc85f04eba324f9b88d4a7da1b9cb9b147..6f482bcadc4afd21dbd52856da145bb44b6bae3c 100644 (file)
@@ -18,6 +18,7 @@
                                </value>
                                <value>org.osgi:org.osgi.core</value>
                                <value>org.easymock:easymock</value>
                                </value>
                                <value>org.osgi:org.osgi.core</value>
                                <value>org.easymock:easymock</value>
+                               <value>com.springsource.org.apache.xmlcommons</value>
                        </set>
                </property>
        </bean>
                        </set>
                </property>
        </bean>
index 4cf39434b070f907afb0f1c624f4d74792924ce3..f64673e6df6828e83b7c1715d2cf1323e99dece5 100644 (file)
                        <artifactId>com.springsource.slf4j.org.apache.commons.logging</artifactId>
                </dependency>
                <dependency>
                        <artifactId>com.springsource.slf4j.org.apache.commons.logging</artifactId>
                </dependency>
                <dependency>
-                       <groupId>org.apache.log4j</groupId>
-                       <artifactId>com.springsource.org.apache.log4j</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>com.springsource.slf4j.log4j</artifactId>
+                       <groupId>org.argeo.commons.basic</groupId>
+                       <artifactId>org.argeo.basic.dep.log4j</artifactId>
+                       <version>0.2.3-SNAPSHOT</version>
+                       <type>pom</type>
                </dependency>
 
                <dependency>
                </dependency>
 
                <dependency>
diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoNodes.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoNodes.java
new file mode 100644 (file)
index 0000000..723554a
--- /dev/null
@@ -0,0 +1,6 @@
+package org.argeo.slc.repo;
+
+public interface RepoNodes {
+
+       public final static String SLC_ARTIFACT = "slc:artifact";
+}
diff --git a/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoProperties.java b/runtime/org.argeo.slc.repo/src/main/java/org/argeo/slc/repo/RepoProperties.java
new file mode 100644 (file)
index 0000000..c706159
--- /dev/null
@@ -0,0 +1,10 @@
+package org.argeo.slc.repo;
+
+public interface RepoProperties {
+       // slc:artifact
+       public final static String SLC_ARTIFACT_ID = "slc:artifactId";
+       public final static String SLC_GROUP_ID = "slc:groupId";
+       public final static String SLC_ARTIFACT_VERSION = "slc:artifactVersion";
+       public final static String SLC_ARTIFACT_EXTENSION = "slc:artifactExtension";
+       public final static String SLC_ARTIFACT_CLASSIFIER = "slc:artifactClassifier";
+}
index bf5d98ac955f2ac63ca872ff78c70fe4ef673bc4..c4020d92f344c522d8227cc244e8f5718ff3f5ee 100644 (file)
@@ -2,18 +2,24 @@ package org.argeo.slc.repo.maven;
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 
 import java.io.ByteArrayOutputStream;
 import java.io.File;
+import java.io.FileInputStream;
 import java.util.Comparator;
 import java.util.HashSet;
 import java.util.Properties;
 import java.util.Set;
 import java.util.TreeSet;
 
 import java.util.Comparator;
 import java.util.HashSet;
 import java.util.Properties;
 import java.util.Set;
 import java.util.TreeSet;
 
+import javax.jcr.Binary;
+import javax.jcr.Node;
+import javax.jcr.Property;
 import javax.jcr.Session;
 import javax.jcr.Session;
+import javax.jcr.nodetype.NodeType;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.argeo.jcr.JcrUtils;
 import org.argeo.slc.SlcException;
 import org.argeo.slc.aether.AetherTemplate;
 import org.sonatype.aether.artifact.Artifact;
 import org.argeo.slc.SlcException;
 import org.argeo.slc.aether.AetherTemplate;
 import org.sonatype.aether.artifact.Artifact;
@@ -32,9 +38,11 @@ public class ImportMavenDependencies implements Runnable {
        private Set<String> excludedArtifacts = new HashSet<String>();
 
        private Session jcrSession;
        private Set<String> excludedArtifacts = new HashSet<String>();
 
        private Session jcrSession;
+       private String artifactBasePath = "/slc/repo/artifacts";
 
        public void run() {
                Set<Artifact> artifacts = resolveDistribution();
 
        public void run() {
                Set<Artifact> artifacts = resolveDistribution();
+               syncDistribution(artifacts);
        }
 
        public Set<Artifact> resolveDistribution() {
        }
 
        public Set<Artifact> resolveDistribution() {
@@ -90,7 +98,57 @@ public class ImportMavenDependencies implements Runnable {
        }
 
        protected void syncDistribution(Set<Artifact> artifacts) {
        }
 
        protected void syncDistribution(Set<Artifact> artifacts) {
+               Long begin = System.currentTimeMillis();
+               try {
+                       JcrUtils.mkdirs(jcrSession, artifactBasePath);
+                       for (Artifact artifact : artifacts) {
+                               String parentPath = artifactBasePath + '/'
+                                               + artifactParentPath(artifact);
+                               Node parentNode;
+                               if (!jcrSession.itemExists(parentPath)) {
+                                       parentNode = JcrUtils.mkdirs(jcrSession, parentPath,
+                                                       NodeType.NT_FOLDER, false);
+                               } else {
+                                       parentNode = jcrSession.getNode(parentPath);
+                               }
+
+                               File file = artifact.getFile();
+                               Node fileNode;
+                               if (!parentNode.hasNode(file.getName())) {
+                                       fileNode = createFileNode(parentNode, file);
+                               } else {
+                                       fileNode = parentNode.getNode(file.getName());
+                               }
+                       }
+
+                       Long duration = (System.currentTimeMillis() - begin) / 1000;
+                       if (log.isDebugEnabled())
+                               log.debug("Synchronized distribution in " + duration + "s");
+               } catch (Exception e) {
+                       throw new SlcException("Cannot synchronize distribution", e);
+               }
+       }
 
 
+       protected String artifactParentPath(Artifact artifact) {
+               return artifact.getGroupId().replace('.', '/') + '/'
+                               + artifact.getArtifactId() + '/' + artifact.getVersion();
+       }
+
+       protected Node createFileNode(Node parentNode, File file) {
+               try {
+                       Node fileNode = parentNode
+                                       .addNode(file.getName(), NodeType.NT_FILE);
+                       Node contentNode = fileNode.addNode(Node.JCR_CONTENT,
+                                       NodeType.NT_RESOURCE);
+                       Binary binary = jcrSession.getValueFactory().createBinary(
+                                       new FileInputStream(file));
+                       contentNode.setProperty(Property.JCR_DATA, binary);
+                       binary.dispose();
+                       return fileNode;
+               } catch (Exception e) {
+                       throw new SlcException("Cannot create file node based on " + file
+                                       + " under " + parentNode, e);
+               }
        }
 
        /** Recursively adds non optional dependencies */
        }
 
        /** Recursively adds non optional dependencies */
index c2e701924b6ddb7760b831674d329b3f1ee23d09..7a53ca0c212ad8b1183a894baa5aaf0b33164776 100644 (file)
@@ -1,49 +1,39 @@
-<sebi = 'http://www.agfa.com/sebi'>
+<slc = 'http://www.argeo.org/slc'>
 
 
-[sebi:ebi] > nt:base
-//
-// GENERIC
-//
-- sebi:ebiTag (STRING) primary m
-- sebi:ebiName (STRING) m
-- sebi:ebiUniqueId (LONG) m
-- sebi:ebiRpStatus (STRING) m
-- sebi:ebiRpAssociatedVersion (STRING) m
-- sebi:ebiOrbisModule (STRING) m
-- sebi:ebiTracedTo (STRING) m
+[slc:artifact] > nt:base
+mixin
+- slc:artifactId (STRING) primary m
+- slc:groupId (STRING) m
+- slc:artifactVersion (STRING) m
+- slc:artifactExtension (STRING) m
+- slc:artifactClassifier (STRING) ='' m a
 
 
-// BPR are sometimes missing
-- sebi:ebiBpr (STRING)
-- sebi:bprProcessCode (STRING)
-- sebi:appendixBRef (STRING)
+[slc:jarArtifact] > slc:artifact
+mixin
 
 
-- sebi:ebiRequirementText (STRING) m
-- sebi:ebiRpDate (DATE) m
-- sebi:sebiCreationDate (DATE) m
-- sebi:sebiLastUpdate (DATE) m
-- sebi:sebiLastUpdateUser (STRING)
+[slc:bundleArtifact] > slc:jarArtifact, slc:bundle
+mixin
+- slc:Bundle-Version (STRING) m
+- slc:Bundle-Name (STRING)
+- slc:Bundle-Description (STRING)
+- slc:Bundle-Vendor (STRING)
+- slc:Bundle-License (STRING)
++ slc:Import-Package (slc:importedPackage) multiple
++ slc:Export-Package (slc:exportedPackage) multiple
++ slc:Require-Bundle (slc:bundle) multiple
 
 
-// 'TWIN' FIELDS
-- sebi:bprProcessCodeSebi (STRING)
-- sebi:appendixBRefSebi (STRING)
+[slc:bundle] > nt:base
+mixin
+- slc:Bundle-SymbolicName (STRING) primary m
 
 
-//
-// AP-HP specific
-//
-- sebi:ebiRpVersionLastUpdate (STRING)
-- sebi:isOutsideAphp (BOOLEAN) = 'false' m a
-- sebi:forseenDelivSprint (DATE)
-- sebi:forseenDelivSprintLastUpdate (DATE)
-- sebi:projectStatus (STRING)
-- sebi:aphpDelivDate (DATE)
-- sebi:effectiveDelivSprint (STRING)
-- sebi:effectiveDelivSprintLastUpdate (DATE)
-- sebi:ebiNameFr (STRING) = '' m a
-- sebi:ebiDescLastUpdate (DATE)
-- sebi:ebiDescFr (STRING) = '' m a
-- sebi:ebiDescFrLastUpdate (DATE)
-- sebi:consultant (STRING)
-- sebi:solutionManager (STRING)
-- sebi:productOwner (STRING)
-- sebi:tpoRef (STRING)
-- sebi:comments (STRING) = '' m a
+[slc:javaPackage] > nt:base
+mixin
+- slc:name (STRING) m
+
+[slc:exportedPackage] > slc:javaPackage
+mixin
++ slc:uses (slc:javaPackage) multiple
+
+[slc:importedPackage] > slc:javaPackage
+mixin
++ slc:version (STRING) ='0.0.0' m a
index ff10dd3a910e3f824d574a9266286c4361a16f49..5303b7180bc80ed90f9cff7e0fd83a16e0617d05 100644 (file)
                </dependency>
 
                <!-- JEE required by ActiveMQ Core -->
                </dependency>
 
                <!-- JEE required by ActiveMQ Core -->
-               <dependency>
-                       <groupId>javax.activation</groupId>
-                       <artifactId>com.springsource.javax.activation</artifactId>
-               </dependency>
                <dependency>
                        <groupId>org.apache.geronimo.specs</groupId>
                        <artifactId>com.springsource.javax.management.j2ee</artifactId>
                <dependency>
                        <groupId>org.apache.geronimo.specs</groupId>
                        <artifactId>com.springsource.javax.management.j2ee</artifactId>
                        <groupId>javax.xml.rpc</groupId>
                        <artifactId>com.springsource.javax.xml.rpc</artifactId>
                </dependency>
                        <groupId>javax.xml.rpc</groupId>
                        <artifactId>com.springsource.javax.xml.rpc</artifactId>
                </dependency>
-               <dependency>
-                       <groupId>javax.xml.soap</groupId>
-                       <artifactId>com.springsource.javax.xml.soap</artifactId>
-               </dependency>
-               <dependency>
-                       <groupId>javax.transaction</groupId>
-                       <artifactId>com.springsource.javax.transaction</artifactId>
-               </dependency>
                <dependency>
                        <groupId>javax.servlet</groupId>
                        <artifactId>com.springsource.javax.servlet</artifactId>
                <dependency>
                        <groupId>javax.servlet</groupId>
                        <artifactId>com.springsource.javax.servlet</artifactId>
index ae112ec25be5e1c1cec228a3962d136c6a8ea9f0..6887117fd9eee00b61b62e9fe1da022c252d6192 100644 (file)
                        <artifactId>com.springsource.org.apache.xalan</artifactId>
                </dependency>
 
                        <artifactId>com.springsource.org.apache.xalan</artifactId>
                </dependency>
 
-               <dependency>
-                       <groupId>javax.xml.stream</groupId>
-                       <artifactId>com.springsource.javax.xml.stream</artifactId>
-               </dependency>
-
                <!-- Unit Tests -->
                <dependency>
                        <groupId>org.argeo.slc.runtime</groupId>
                <!-- Unit Tests -->
                <dependency>
                        <groupId>org.argeo.slc.runtime</groupId>
index fafa6ffde6ee5b55cef35c0d58f91bf3f86b23b0..b9263025bee328c904221a1b2f2eb43b7e4e46ef 100644 (file)
                        <version>${project.version}</version>
                </dependency>
 
                        <version>${project.version}</version>
                </dependency>
 
-               <dependency>
-                       <groupId>javax.transaction</groupId>
-                       <artifactId>com.springsource.javax.transaction</artifactId>
-               </dependency>
                <dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>com.springsource.org.hibernate</artifactId>
                <dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>com.springsource.org.hibernate</artifactId>
                        <scope>test</scope>
                </dependency>
 
                        <scope>test</scope>
                </dependency>
 
+               <dependency>
+                       <groupId>javax.transaction</groupId>
+                       <artifactId>com.springsource.javax.transaction</artifactId>
+                       <scope>test</scope>
+               </dependency>
+
        </dependencies>
 </project>
        </dependencies>
 </project>