+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src" />
- <classpathentry kind="con"
- path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8" />
- <classpathentry kind="con"
- path="org.eclipse.pde.core.requiredPlugins" />
- <classpathentry kind="output" path="target" />
-</classpath>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.slc.client.rcp</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-#Wed Aug 04 16:32:22 CEST 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
+++ /dev/null
-/MANIFEST.MF
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
- xsi:schemaLocation="http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd">
-
- <!-- RCP Specific open JCR file command -->
- <bean id="org.argeo.slc.client.rcp.openJcrFile" class="org.argeo.slc.client.ui.specific.OpenJcrFile"
- scope="prototype">
- <property name="repoService" ref="repoService" />
- </bean>
-
- <bean id="repoService" class="org.argeo.slc.repo.core.RepoServiceImpl">
- <property name="repositoryFactory" ref="repositoryFactory" />
- <property name="keyring" ref="keyring" />
- <property name="nodeRepository" ref="nodeRepository" />
- </bean>
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"\r
- xmlns:osgi="http://www.springframework.org/schema/osgi"\r
- xsi:schemaLocation="http://www.springframework.org/schema/osgi \r
- http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd\r
- http://www.springframework.org/schema/beans \r
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"\r
- osgi:default-timeout="30000">\r
-\r
- <beans:description>SLC UI RCP</beans:description>\r
-\r
- <reference id="nodeRepository" interface="javax.jcr.Repository"\r
- filter="(cn=node)" />\r
- <reference id="repositoryFactory" interface="javax.jcr.RepositoryFactory" />\r
- <reference id="keyring" interface="org.argeo.node.security.CryptoKeyring" />\r
-\r
-</beans:beans>\r
+++ /dev/null
-Bundle-SymbolicName: org.argeo.slc.client.rcp;singleton=true
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.argeo.slc.client.rcp.SlcRcpPlugin
-Require-Bundle: org.eclipse.ui,\
-org.eclipse.core.runtime
-
-Import-Package: javax.jcr.nodetype,\
-org.argeo.eclipse.spring,\
-org.argeo.slc.repo.core,\
-org.argeo.cms.util,\
-org.osgi.*;version=0.0.0,\
-*
-
\ No newline at end of file
+++ /dev/null
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- icons/,\
- splash.bmp,\
- plugin_customization.ini
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
- <extension
- id="org.argeo.slc.client.rcp.product"
- point="org.eclipse.core.runtime.products">
- <product
- application="org.argeo.slc.client.rcp.application"
- name="SLC">
- <property
- name="windowImages"
- value="icons/argeo-icon-256.png">
- </property>
- <property
- name="appName"
- value="SLC">
- </property>
- <property
- name="preferenceCustomization"
- value="plugin_customization.ini">
- </property>
- </product>
- </extension>
- <extension
- id="org.argeo.slc.client.rcp.application"
- point="org.eclipse.core.runtime.applications">
- <application>
- <run
- class="org.argeo.slc.client.rcp.SlcSecureClientApplication">
- </run>
- </application>
- </extension>
-
- <!-- COMMANDS -->
- <extension
- point="org.eclipse.ui.commands">
- <command
- id="org.argeo.slc.client.rcp.openJcrFile"
- defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
- name="Open Workspace Editor">
- <commandParameter
- id="param.repoNodePath"
- name="Repo node path">
- </commandParameter>
- <commandParameter
- id="param.repoUri"
- name="Repo URI">
- </commandParameter>
- <commandParameter
- id="param.workspaceName"
- name="Workspace name">
- </commandParameter>
- <commandParameter
- id="param.filePath"
- name="File Path">
- </commandParameter>
- </command>
- </extension>
-
- <!-- RCP Specific, does not work with RAP -->
- <extension
- point="org.eclipse.ui.bindings">
- <!-- <key
- commandId="org.argeo.slc.client.ui.refreshExecutionModulesView"
- schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"
- sequence="CTRL+R">
- </key> -->
- </extension>
-</plugin>
+++ /dev/null
-org.eclipse.ui/DOCK_PERSPECTIVE_BAR=topRight
-org.eclipse.ui/SHOW_TEXT_ON_PERSPECTIVE_BAR=false
-org.eclipse.ui/PERSPECTIVE_BAR_SIZE=100
-org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=true
-org.eclipse.ui/SHOW_PROGRESS_ON_STARTUP = false
+++ /dev/null
-<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.commons.rcp</groupId>
- <artifactId>argeo-rcp</artifactId>
- <version>2.1.16-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <!-- <parent> -->
- <!-- <groupId>org.argeo.slc</groupId> -->
- <!-- <artifactId>argeo-slc</artifactId> -->
- <!-- <version>2.1.10-SNAPSHOT</version> -->
- <!-- <relativePath>..</relativePath> -->
- <!-- </parent> -->
- <groupId>org.argeo.slc</groupId>
- <artifactId>org.argeo.slc.client.rcp</artifactId>
- <name>SLC Client RCP</name>
- <packaging>jar</packaging>
- <!-- <build> -->
- <!-- <plugins> -->
- <!-- <plugin> -->
- <!-- <groupId>org.apache.felix</groupId> -->
- <!-- <artifactId>maven-bundle-plugin</artifactId> -->
- <!-- <configuration> -->
- <!-- <instructions> -->
- <!-- <Bundle-Activator>org.argeo.slc.client.rcp.SlcRcpPlugin</Bundle-Activator> -->
- <!-- <Require-Bundle> -->
- <!-- org.eclipse.ui, -->
- <!-- org.eclipse.core.runtime -->
- <!-- </Require-Bundle> -->
- <!-- <Import-Package> -->
- <!-- org.argeo.eclipse.spring, -->
- <!-- org.argeo.slc.repo.core, -->
- <!-- javax.jcr.nodetype, -->
- <!-- *, -->
- <!-- </Import-Package> -->
- <!-- </instructions> -->
- <!-- </configuration> -->
- <!-- </plugin> -->
- <!-- </plugins> -->
- <!-- </build> -->
- <dependencies>
- <!-- SLC -->
- <dependency>
- <groupId>org.argeo.slc</groupId>
- <artifactId>org.argeo.slc.repo</artifactId>
- <version>2.1.8-SNAPSHOT</version>
- </dependency>
- <!-- Argeo common distribution for Secured UI -->
- <dependency>
- <groupId>org.argeo.commons.rcp</groupId>
- <artifactId>org.argeo.cms.ui.workbench.rcp</artifactId>
- <version>${version.argeo-rcp}</version>
- </dependency>
-
- <!-- RCP for build -->
- <dependency>
- <groupId>org.argeo.commons.rcp</groupId>
- <artifactId>org.argeo.dep.cms.rcp</artifactId>
- </dependency>
-
- </dependencies>
-</project>
+++ /dev/null
-package org.argeo.slc.client.rcp;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class SlcRcpPlugin extends AbstractUIPlugin {
- public static final String PLUGIN_ID = "org.argeo.slc.client.rcp";
- private static SlcRcpPlugin plugin;
-
- public void start(BundleContext context) throws Exception {
- super.start(context);
- plugin = this;
- }
-
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- public static SlcRcpPlugin getDefault() {
- return plugin;
- }
-
- @Override
- protected void initializeImageRegistry(ImageRegistry reg) {
- // TODO make it configurable
- reg.put("argeoTrayIcon",
- getImageDescriptor("icons/argeo-trayIcon-256.png"));
- }
-
- public static ImageDescriptor getImageDescriptor(String path) {
- return imageDescriptorFromPlugin(PLUGIN_ID, path);
- }
-}
+++ /dev/null
-package org.argeo.slc.client.rcp;
-
-import org.argeo.cms.ui.workbench.rcp.SecureRcp;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jface.window.Window.IExceptionHandler;
-import org.eclipse.ui.application.WorkbenchAdvisor;
-
-/**
- * This class controls all aspects of the application's execution
- */
-public class SlcSecureClientApplication extends SecureRcp {
-
- @Override
- protected WorkbenchAdvisor createWorkbenchAdvisor(String username) {
- Window.setExceptionHandler(new IExceptionHandler() {
-
- public void handleException(Throwable t) {
- System.err.println("Unexpected SLC UI exception: " + t);
-
- }
- });
-
- return new SlcSecureWorkbenchAdvisor(username);
- }
-
-}
+++ /dev/null
-package org.argeo.slc.client.rcp;
-
-import org.argeo.cms.ui.workbench.rcp.SecureWorkbenchAdvisor;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.application.WorkbenchWindowAdvisor;
-
-/**
- * Custom {@link SecureWorkbenchAdvisor} in order to create a
- * {@link SlcSecureWorkbenchWindowAdvisor}.
- */
-public class SlcSecureWorkbenchAdvisor extends SecureWorkbenchAdvisor {
- public SlcSecureWorkbenchAdvisor(String username) {
- super(username);
- }
-
- public WorkbenchWindowAdvisor createWorkbenchWindowAdvisor(
- IWorkbenchWindowConfigurer configurer) {
- return new SlcSecureWorkbenchWindowAdvisor(configurer, getUsername());
- }
-}
+++ /dev/null
-package org.argeo.slc.client.rcp;
-
-import org.argeo.cms.ui.workbench.rcp.SecureWorkbenchWindowAdvisor;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DropTargetAdapter;
-import org.eclipse.swt.dnd.DropTargetEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Tray;
-import org.eclipse.swt.widgets.TrayItem;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.application.IWorkbenchWindowConfigurer;
-import org.eclipse.ui.part.EditorInputTransfer;
-
-/**
- * Custom {@link SecureWorkbenchWindowAdvisor} which can add a tray. TODO: to
- * be factorized in Argeo Commons and made more generic.
- */
-public class SlcSecureWorkbenchWindowAdvisor extends
- SecureWorkbenchWindowAdvisor {
- public final static String IN_TRAY_PROPERTY = "org.argeo.slc.ui.inTray";
-
- private TrayItem trayItem;
-
- public SlcSecureWorkbenchWindowAdvisor(
- IWorkbenchWindowConfigurer configurer, String username) {
- super(configurer, username);
- }
-
- public void postWindowOpen() {
- String inTray = System.getProperty(IN_TRAY_PROPERTY);
- if (inTray != null && inTray.equals("true")) {
- initTray();
- }
- }
-
- @Override
- public void preWindowOpen() {
- getWindowConfigurer().addEditorAreaTransfer(
- EditorInputTransfer.getInstance());
- getWindowConfigurer().configureEditorAreaDropListener(
- new DropTargetAdapter() {
-
- @Override
- public void dragEnter(DropTargetEvent event) {
- System.out.println("DROP enter!!! " + event);
- }
-
- @Override
- public void dragLeave(DropTargetEvent event) {
- System.out.println("DROP leave!!! " + event);
- }
-
- public void drop(DropTargetEvent event) {
- System.out.println("DROP drop!!! " + event);
-
- }
-
- @Override
- public void dropAccept(DropTargetEvent event) {
- System.out.println("DROP accept!!! " + event);
- super.dropAccept(event);
- }
-
- });
- super.preWindowOpen();
- }
-
- @Override
- public boolean preWindowShellClose() {
- // hide but do not dispose if tray is supported
- if (trayItem != null) {
- getWindowConfigurer().getWindow().getShell().setVisible(false);
- return false;
- } else
- return true;
- }
-
- /** Init tray support */
- protected void initTray() {
- IWorkbenchWindow window = getWindowConfigurer().getWindow();
- Shell shell = window.getShell();
- final Tray tray = shell.getDisplay().getSystemTray();
- trayItem = new TrayItem(tray, SWT.NONE);
- if (trayItem == null)
- return;
-
- // image
- Image trayImage = SlcRcpPlugin.getDefault().getImageRegistry()
- .get("argeoTrayIcon");
- trayItem.setImage(trayImage);
- trayItem.setToolTipText("Argeo SLC");
-
- // add pop-menu
- // TODO: contribute more commands
- trayItem.addListener(SWT.MenuDetect, new Listener() {
- public void handleEvent(Event event) {
- IWorkbenchWindow window = getWindowConfigurer().getWindow();
- Menu menu = new Menu(window.getShell(), SWT.POP_UP);
- MenuItem exit = new MenuItem(menu, SWT.NONE);
- exit.setText("Exit");
- exit.addListener(SWT.Selection, new Listener() {
- public void handleEvent(Event event) {
- getWindowConfigurer().getWorkbenchConfigurer()
- .getWorkbench().close();
- }
- });
- menu.setVisible(true);
- }
- });
-
- // add behavior when clicked upon
- trayItem.addListener(SWT.Selection, new Listener() {
- public void handleEvent(Event event) {
- Shell shell = getWindowConfigurer().getWindow().getShell();
- if (shell.isVisible()) {
- if (shell.getMinimized())
- shell.setMinimized(false);
- else {
- shell.setVisible(false);
- shell.setMinimized(true);
- }
- } else {
- shell.setVisible(true);
- shell.setActive();
- shell.setFocus();
- shell.setMinimized(false);
- }
- }
- });
-
- // start hidden
- // shell.setVisible(false);
- }
-
- @Override
- public void dispose() {
- if (trayItem != null)
- trayItem.dispose();
- }
-
-}
+++ /dev/null
-package org.argeo.slc.client.ui.specific;
-
-import java.awt.Desktop;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import javax.jcr.Node;
-import javax.jcr.Property;
-import javax.jcr.RepositoryException;
-import javax.jcr.Session;
-import javax.jcr.nodetype.NodeType;
-
-import org.apache.commons.io.IOUtils;
-import org.argeo.jcr.JcrUtils;
-import org.argeo.slc.SlcException;
-import org.argeo.slc.repo.RepoService;
-import org.eclipse.core.commands.AbstractHandler;
-import org.eclipse.core.commands.ExecutionEvent;
-import org.eclipse.core.commands.ExecutionException;
-
-/**
- * RCP specific command handler to open a file retrieved from a local or distant
- * JCR Repository.
- */
-public class OpenJcrFile extends AbstractHandler {
- // private final static Log log = LogFactory.getLog(OpenJcrFile.class);
-
- // Here is the trick that enable single sourcing: the ID is determined at
- // runtime so use (new OpenJcrFileCmdId()).getCmdId() instead of the usual
- // public final String ID = SlcRcpPlugin.PLUGIN_ID + ".openJcrFile";
-
- public final static String PARAM_REPO_NODE_PATH = "param.repoNodePath";
- public final static String PARAM_REPO_URI = "param.repoUri";
- public final static String PARAM_WORKSPACE_NAME = "param.workspaceName";
- public final static String PARAM_FILE_PATH = "param.filePath";
-
- /* DEPENDENCY INJECTION */
- private RepoService repoService;
-
- public Object execute(ExecutionEvent event) throws ExecutionException {
-
- String repoNodePath = event.getParameter(PARAM_REPO_NODE_PATH);
- String repoUri = event.getParameter(PARAM_REPO_URI);
- String wkspName = event.getParameter(PARAM_WORKSPACE_NAME);
- String filePath = event.getParameter(PARAM_FILE_PATH);
-
- // TODO sanity check
- if (filePath == null || "".equals(filePath.trim()))
- return null;
- retrieveAndOpen(repoNodePath, repoUri, wkspName, filePath);
-
- return null;
- }
-
- protected void retrieveAndOpen(String repoNodePath, String repoUri,
- String wkspName, String filePath) {
- Session businessSession = null;
- try {
- businessSession = repoService.getRemoteSession(repoNodePath,
- repoUri, wkspName);
- Node result = businessSession.getNode(filePath);
-
- boolean isValid = true;
- Node child = null;
- if (!result.isNodeType(NodeType.NT_FILE))
- isValid = false;
- else {
- child = result.getNode(Property.JCR_CONTENT);
- if (!(child.isNodeType(NodeType.NT_RESOURCE) || child
- .hasProperty(Property.JCR_DATA)))
- isValid = false;
- }
-
- if (!isValid)
- return;
-
- InputStream fis = null;
- String prefix = "", extension = "";
- String fileName = JcrUtils.lastPathElement(filePath);
- int ind = fileName.lastIndexOf('.');
- if (ind > 0) {
- prefix = fileName.substring(0, ind);
- extension = fileName.substring(ind);
- }
- try {
-
- fis = (InputStream) child.getProperty(Property.JCR_DATA)
- .getBinary().getStream();
- File file = createTmpFile(prefix, extension, fis);
- Desktop desktop = null;
- if (Desktop.isDesktopSupported()) {
- desktop = Desktop.getDesktop();
- }
- desktop.open(file);
- } catch (Exception e) {
- throw new SlcException(
- "Stream error while opening file " + filePath
- + " from repo " + repoUri == null ? repoNodePath
- : repoUri, e);
- } finally {
- IOUtils.closeQuietly(fis);
- }
- } catch (RepositoryException e) {
- throw new SlcException("Unexpected error while "
- + "getting repoNode info for repoNode at path "
- + repoNodePath, e);
- } finally {
- JcrUtils.logoutQuietly(businessSession);
- }
- }
-
- private File createTmpFile(String prefix, String suffix, InputStream is) {
- File tmpFile = null;
- OutputStream os = null;
- try {
- tmpFile = File.createTempFile(prefix, suffix);
- os = new FileOutputStream(tmpFile);
- IOUtils.copy(is, os);
- } catch (IOException e) {
- throw new SlcException("Cannot open file " + prefix + "." + suffix,
- e);
- } finally {
- IOUtils.closeQuietly(os);
- }
- return tmpFile;
- }
-
- /* DEPENDENCY INJECTION */
- public void setRepoService(RepoService repoService) {
- this.repoService = repoService;
- }
-}
\ No newline at end of file
+++ /dev/null
-package org.argeo.slc.client.ui.specific;
-
-import org.argeo.slc.client.rcp.SlcRcpPlugin;
-
-/**
- * Workaround a single sourcing problem:
- *
- * final static variable are imported at compilation time (we build against RCP)
- * and we still must have a different ID (the prefix must be the PLUGIN ID) for
- * RAP and RCP in order to be able to inject beans in the corresponding commands
- */
-public class OpenJcrFileCmdId {
-
- public String getCmdId() {
- return SlcRcpPlugin.PLUGIN_ID + ".openJcrFile";
- }
-}
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+++ /dev/null
-/bin/
-/target
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.slc.e4</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-/MANIFEST.MF
+++ /dev/null
-Import-Package: org.eclipse.swt,\
-org.eclipse.e4.ui.model.application.ui,\
-org.eclipse.e4.ui.model.application,\
-org.eclipse.swt.events,\
-javax.jcr.nodetype,\
-org.argeo.slc.jcr,\
-org.eclipse.core.commands.common,\
-org.eclipse.jface.window,\
-*
+++ /dev/null
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .
+++ /dev/null
-<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>argeo-slc-cms</artifactId>
- <version>2.1.18-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.slc.e4</artifactId>
- <name>SLC E4</name>
- <packaging>jar</packaging>
- <dependencies>
- <!-- SLC -->
- <dependency>
- <groupId>org.argeo.slc</groupId>
- <artifactId>org.argeo.slc.jcr</artifactId>
- <version>2.1.18-SNAPSHOT</version>
- </dependency>
-
- <!-- Argeo Commons -->
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.eclipse.ui</artifactId>
- <version>${version.argeo-commons}</version>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.eclipse.ui.rap</artifactId>
- <version>${version.argeo-commons}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.argeo.commons</groupId>
- <artifactId>org.argeo.cms.e4</artifactId>
- <version>${version.argeo-commons}</version>
- </dependency>
-
- <!-- RAP workbench -->
- <dependency>
- <groupId>org.argeo.tp</groupId>
- <artifactId>argeo-tp-rap-e4</artifactId>
- <version>${version.argeo-tp}</version>
- <type>pom</type>
- <scope>provided</scope>
- </dependency>
-
- </dependencies>
-</project>
+++ /dev/null
-package org.argeo.slc.e4;
-
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.swt.graphics.Image;
-
-/** Shared images. */
-public class SlcImages {
- public final static Image AGENT = img("icons/agent.gif");
- public final static Image AGENT_FACTORY = img("icons/agentFactory.gif");
- public final static Image MODULE = img("icons/module.png");
- public final static Image MODULE_STOPPED = img("icons/module_stopped.gif");
- public final static Image FOLDER = img("icons/folder.gif");
- public final static Image MY_RESULTS_FOLDER = img("icons/myResult.png");
- public final static Image RENAME = img("icons/rename.png");
- public final static Image FLOW = img("icons/flow.png");
- public final static Image PROCESSES = img("icons/processes.gif");
- public final static Image PASSED = img("icons/passed.gif");
- public final static Image ERROR = img("icons/error.gif");
- public final static Image LAUNCH = img("icons/launch.gif");
- public final static Image RELAUNCH = img("icons/relaunch.gif");
- public final static Image KILL = img("icons/kill.png");
- public final static Image REMOVE_ONE = img("icons/remove_one.gif");
- public final static Image REMOVE_ALL = img("icons/removeAll.png");
- public final static Image EXECUTION_SPECS = img("icons/executionSpecs.gif");
- public final static Image EXECUTION_SPEC = img("icons/executionSpec.gif");
- public final static Image EXECUTION_SPEC_ATTRIBUTE = img("icons/executionSpecAttribute.gif");
- public final static Image CHOICES = img("icons/choices.gif");
- public final static Image PROCESS_ERROR = img("icons/process_error.png");
- public final static Image PROCESS_SCHEDULED = img("icons/process_scheduled.gif");
- public final static Image PROCESS_RUNNING = img("icons/process_running.png");
- public final static Image PROCESS_COMPLETED = img("icons/process_completed.png");
-
- // Decorators
- public final static ImageDescriptor EXECUTION_ERROR = getImageDescriptor("icons/executionError.gif");
- public final static ImageDescriptor EXECUTION_PASSED = getImageDescriptor("icons/executionPassed.gif");
-
- /** Creates the image */
- public static Image img(String path) {
- return getImageDescriptor(path).createImage();
- }
-
- public static ImageDescriptor getImageDescriptor(String path) {
- return imageDescriptorFromPlugin("", path);
- }
-
- public static ImageDescriptor imageDescriptorFromPlugin(String pluginId,
- String imageFilePath) {
- return null;
- }
-
-}
+++ /dev/null
-package org.argeo.slc.e4.parts;
-
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.SortedSet;
-import java.util.TreeSet;
-
-import javax.jcr.Node;
-import javax.jcr.NodeIterator;
-import javax.jcr.Property;
-import javax.jcr.Repository;
-import javax.jcr.RepositoryException;
-import javax.jcr.Session;
-import javax.jcr.nodetype.NodeType;
-import javax.jcr.observation.Event;
-import javax.jcr.query.Query;
-import javax.jcr.query.QueryManager;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.eclipse.ui.jcr.AsyncUiEventListener;
-import org.argeo.eclipse.ui.jcr.DefaultNodeLabelProvider;
-import org.argeo.eclipse.ui.jcr.NodeElementComparer;
-import org.argeo.eclipse.ui.jcr.SimpleNodeContentProvider;
-import org.argeo.eclipse.ui.specific.EclipseUiSpecificUtils;
-import org.argeo.jcr.JcrUtils;
-import org.argeo.slc.SlcException;
-import org.argeo.slc.SlcNames;
-import org.argeo.slc.SlcTypes;
-import org.argeo.slc.e4.SlcImages;
-import org.argeo.slc.execution.ExecutionModulesManager;
-import org.argeo.slc.jcr.SlcJcrConstants;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITableLabelProvider;
-import org.eclipse.jface.viewers.TreeViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.dnd.DND;
-import org.eclipse.swt.dnd.DragSourceAdapter;
-import org.eclipse.swt.dnd.DragSourceEvent;
-import org.eclipse.swt.dnd.TextTransfer;
-import org.eclipse.swt.dnd.Transfer;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-
-/** JCR based view of the execution modules. */
-public class JcrExecutionModulesView implements SlcTypes, SlcNames {
- private final static Log log = LogFactory.getLog(JcrExecutionModulesView.class);
-
-// public static final String ID = ClientUiPlugin.ID + ".jcrExecutionModulesView";
-
- private TreeViewer viewer;
-
-// private ServerPushSession pushSession;
-
- /* DEPENDENCY INJECTION */
- private Repository repository;
- private Session session;
- private ExecutionModulesManager modulesManager;
-
- public void createPartControl(Composite parent) {
-// pushSession = new ServerPushSession();
-// pushSession.start();
-
- try {
- session = repository.login();
- } catch (RepositoryException e1) {
- throw new SlcException("Cannot log in to repository");
- }
-
- viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
- EclipseUiSpecificUtils.enableToolTipSupport(viewer);
- ViewContentProvider contentProvider = new ViewContentProvider(session);
- viewer.setContentProvider(contentProvider);
- viewer.setComparer(new NodeElementComparer());
- final ViewLabelProvider viewLabelProvider = new ViewLabelProvider();
- viewer.setLabelProvider(viewLabelProvider);
- viewer.setInput(modulesManager);
-// viewer.setInput(getViewSite());
- viewer.addDoubleClickListener(new ViewDoubleClickListener());
- // context menu
- // addContextMenu(viewer);
-
-// getViewSite().setSelectionProvider(viewer);
-
- Transfer[] tt = new Transfer[] { TextTransfer.getInstance() };
- // Transfer[] tt = new Transfer[] { EditorInputTransfer.getInstance() };
- int operations = DND.DROP_COPY | DND.DROP_MOVE;
- viewer.addDragSupport(operations, tt, new ViewDragListener());
-
- try {
- String[] nodeTypes = { SlcTypes.SLC_AGENT, SlcTypes.SLC_AGENT_FACTORY, SlcTypes.SLC_EXECUTION_MODULE };
- session.getWorkspace().getObservationManager().addEventListener(
- new VmAgentObserver(viewer.getTree().getDisplay()),
- Event.NODE_ADDED | Event.NODE_REMOVED | Event.NODE_MOVED, SlcJcrConstants.VM_AGENT_FACTORY_PATH,
- true, null, nodeTypes, false);
- } catch (RepositoryException e) {
- throw new SlcException("Cannot add observer", e);
- }
- }
-
- public void setFocus() {
- viewer.getControl().setFocus();
- }
-
- public TreeViewer getViewer() {
- return viewer;
- }
-
- public void refreshView() {
-// viewer.setInput(getViewSite());
- viewer.setInput(modulesManager);
- }
-
- // Controllers
- class ViewContentProvider extends SimpleNodeContentProvider {
- private static final long serialVersionUID = 5117887833174813672L;
-
- public ViewContentProvider(Session session) {
- super(session, new String[] { SlcJcrConstants.VM_AGENT_FACTORY_PATH });
- }
-
- @Override
- protected Object[] sort(Object parent, Object[] children) {
- Object[] sorted = new Object[children.length];
- System.arraycopy(children, 0, sorted, 0, children.length);
- Arrays.sort(sorted, new ViewComparator());
- return sorted;
- }
-
- @Override
- protected List<Node> filterChildren(List<Node> children) throws RepositoryException {
- for (Iterator<Node> it = children.iterator(); it.hasNext();) {
- Node node = it.next();
- // execution spec definitions
- if (node.getName().equals(SLC_EXECUTION_SPECS))
- it.remove();
- // flow values
- else if (node.getParent().isNodeType(SlcTypes.SLC_EXECUTION_FLOW))
- it.remove();
- }
- return super.filterChildren(children);
- }
-
- @Override
- public boolean hasChildren(Object element) {
- if (element instanceof Node) {
- Node node = (Node) element;
- try {
- if (node.isNodeType(SlcTypes.SLC_EXECUTION_FLOW))
- return false;
- } catch (RepositoryException e) {
- throw new SlcException("Cannot check has children", e);
- }
- }
- return super.hasChildren(element);
- }
- }
-
- static class ViewComparator implements Comparator<Object> {
-
- public int compare(Object o1, Object o2) {
- try {
- if (o1 instanceof Node && o2 instanceof Node) {
- Node node1 = (Node) o1;
- Node node2 = (Node) o2;
-
- if (node1.getName().equals(SLC_EXECUTION_SPECS))
- return -100;
- if (node2.getName().equals(SLC_EXECUTION_SPECS))
- return 100;
-
- if (node1.isNodeType(SLC_EXECUTION_FLOW) && node2.isNodeType(SLC_EXECUTION_FLOW)) {
- return node1.getName().compareTo(node2.getName());
- } else if (node1.isNodeType(SLC_EXECUTION_FLOW) && !node2.isNodeType(SLC_EXECUTION_FLOW)) {
- return 1;
- } else if (!node1.isNodeType(SLC_EXECUTION_FLOW) && node2.isNodeType(SLC_EXECUTION_FLOW)) {
- return -1;
- } else {
- // TODO: check title
- return node1.getName().compareTo(node2.getName());
- }
- }
- } catch (RepositoryException e) {
- throw new SlcException("Cannot compare " + o1 + " and " + o2, e);
- }
- return 0;
- }
-
- }
-
- // private void addContextMenu(TreeViewer flowsViewer) {
- //
- // final MenuManager menuMgr = new MenuManager();
- // menuMgr.setRemoveAllWhenShown(true);
- // menuMgr.addMenuListener(new IMenuListener() {
- //
- // public void menuAboutToShow(IMenuManager manager) {
- // menuMgr.add(new Action("Test") {
- // public void run() {
- // log.debug("do something");
- // }
- // });
- // }
- // });
- // Menu menu = menuMgr.createContextMenu(flowsViewer.getControl());
- // flowsViewer.getTree().setMenu(menu);
- // getSite().registerContextMenu(menuMgr, flowsViewer);
- // }
-
- class VmAgentObserver extends AsyncUiEventListener {
-
- public VmAgentObserver(Display display) {
- super(display);
- }
-
- protected void onEventInUiThread(List<Event> events) {
- for (Event event : events) {
- try {
- String path = event.getPath();
-
- if (session.itemExists(path)) {
- Node parentNode = session.getNode(path);// .getParent();
- if (log.isTraceEnabled())
- log.trace("Refresh " + parentNode + " after event " + event);
- viewer.refresh(parentNode);
- }
- } catch (RepositoryException e) {
- log.warn("Cannot process event " + event + ": " + e);
- }
- }
-
- // TODO: optimize based on event
- viewer.refresh();
- }
- }
-
- class ViewLabelProvider extends DefaultNodeLabelProvider implements ITableLabelProvider {
- private static final long serialVersionUID = 2410754425574656399L;
-
- @Override
- protected String getText(Node node) throws RepositoryException {
- if (node.isNodeType(NodeType.MIX_TITLE) && node.hasProperty(Property.JCR_TITLE))
- return node.getProperty(Property.JCR_TITLE).getString();
- else if (node.getName().equals(SLC_EXECUTION_SPECS))
- return "Execution Specifications";
- else if (node.getPath().equals(SlcJcrConstants.VM_AGENT_FACTORY_PATH))
- return "Internal Agents";
- return super.getText(node);
- }
-
- @Override
- public Image getImage(Node node) throws RepositoryException {
- // we try to optimize a bit by putting deeper nodes first
- if (node.getParent().isNodeType(SlcTypes.SLC_EXECUTION_SPEC_ATTRIBUTE))
- return SlcImages.CHOICES;
- else if (node.isNodeType(SlcTypes.SLC_EXECUTION_SPEC_ATTRIBUTE))
- return SlcImages.EXECUTION_SPEC_ATTRIBUTE;
- else if (node.isNodeType(SlcTypes.SLC_EXECUTION_SPEC))
- return SlcImages.EXECUTION_SPEC;
- else if (node.getName().equals(SLC_EXECUTION_SPECS))
- return SlcImages.EXECUTION_SPECS;
- else if (node.isNodeType(SlcTypes.SLC_EXECUTION_FLOW))
- return SlcImages.FLOW;
- else if (node.isNodeType(SlcTypes.SLC_MODULE)) {
- if (node.getProperty(SLC_STARTED).getBoolean())
- return SlcImages.MODULE;
- else
- return SlcImages.MODULE_STOPPED;
- } else if (node.isNodeType(SlcTypes.SLC_AGENT))
- return SlcImages.AGENT;
- else if (node.isNodeType(SlcTypes.SLC_AGENT_FACTORY))
- return SlcImages.AGENT_FACTORY;
- else
- return SlcImages.FOLDER;
- }
-
- public String getToolTipText(Node node) throws RepositoryException {
- if (node.isNodeType(NodeType.MIX_TITLE) && node.hasProperty(Property.JCR_DESCRIPTION))
- return node.getProperty(Property.JCR_DESCRIPTION).getString();
- return super.getToolTipText(node);
- }
-
- public String getColumnText(Object obj, int index) {
- return getText(obj);
- }
-
- public Image getColumnImage(Object obj, int index) {
- return getImage(obj);
- }
-
- }
-
- class ViewDoubleClickListener implements IDoubleClickListener {
- public void doubleClick(DoubleClickEvent evt) {
- Object obj = ((IStructuredSelection) evt.getSelection()).getFirstElement();
- try {
- if (obj instanceof Node) {
- Node node = (Node) obj;
- if (node.isNodeType(SLC_EXECUTION_MODULE)) {
- //ClientUiPlugin.startStopExecutionModule(modulesManager, node);
- } else {
- String path = node.getPath();
- // TODO factorize with editor
- QueryManager qm = node.getSession().getWorkspace().getQueryManager();
- String statement = "SELECT * FROM [" + SlcTypes.SLC_EXECUTION_FLOW
- + "] WHERE ISDESCENDANTNODE(['" + path + "']) OR ISSAMENODE(['" + path + "'])";
- // log.debug(statement);
- Query query = qm.createQuery(statement, Query.JCR_SQL2);
-
- // order paths
- SortedSet<String> paths = new TreeSet<String>();
- for (NodeIterator nit = query.execute().getNodes(); nit.hasNext();) {
- paths.add(nit.nextNode().getPath());
- }
-
-// IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
-// .getActivePage();
-// activePage.openEditor(new ProcessEditorInput(new ArrayList<String>(paths), true),
-// ProcessEditor.ID);
- }
- }
- } catch (Exception e) {
- throw new SlcException("Cannot open " + obj, e);
- }
- }
-
- }
-
- /** Listen to drags */
- class ViewDragListener extends DragSourceAdapter {
- private static final long serialVersionUID = 250270504802674171L;
-
- // Check if the drag action should start.
- public void dragStart(DragSourceEvent event) {
- // we only start drag if at least one of the selected elements is
- // valid
- boolean doIt = false;
- IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
- @SuppressWarnings("rawtypes")
- Iterator it = selection.iterator();
- try {
- while (it.hasNext()) {
- Object obj = it.next();
- if (obj instanceof Node) {
- Node node = (Node) obj;
- if (node.isNodeType(SlcTypes.SLC_EXECUTION_FLOW)
- || node.isNodeType(SlcTypes.SLC_EXECUTION_MODULE)) {
- doIt = true;
- }
- }
- }
- } catch (RepositoryException e) {
- throw new SlcException("Cannot read node to set drag data", e);
- }
- event.doit = doIt;
- }
-
- public void dragSetData(DragSourceEvent event) {
- IStructuredSelection selection = (IStructuredSelection) viewer.getSelection();
- StringBuilder buf = new StringBuilder();
- @SuppressWarnings("rawtypes")
- Iterator it = selection.iterator();
- try {
-
- while (it.hasNext()) {
- Object obj = it.next();
-
- if (obj instanceof Node) {
- Node node = (Node) obj;
- if ((node.isNodeType(SlcTypes.SLC_EXECUTION_FLOW)
- || node.isNodeType(SlcTypes.SLC_EXECUTION_MODULE))
- && TextTransfer.getInstance().isSupportedType(event.dataType)) {
- buf.append(node.getPath()).append('\n');
- }
- }
- }
- } catch (RepositoryException e) {
- throw new SlcException("Cannot read node to set drag data", e);
- }
-
- if (buf.length() > 0) {
- if (buf.charAt(buf.length() - 1) == '\n')
- buf.deleteCharAt(buf.length() - 1);
- event.data = buf.toString();
- log.debug("data set to : " + buf.toString());
- }
- }
- }
-
- public void dispose() {
- JcrUtils.logoutQuietly(session);
-// if (pushSession != null)
-// pushSession.stop();
-// super.dispose();
- }
-
- // DEPENDENCY INJECTION
-
- public void setModulesManager(ExecutionModulesManager modulesManager) {
- this.modulesManager = modulesManager;
- }
-
- public void setRepository(Repository repository) {
- this.repository = repository;
- }
-}
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="lib" path="lib/aether-transport-wagon-1.0.1.v20141111.jar"/>
- <classpathentry kind="lib" path="lib/cdi-api-1.0.jar"/>
- <classpathentry kind="lib" path="lib/jsoup-1.6.1.jar"/>
- <classpathentry kind="lib" path="lib/jsr250-api-1.0.jar"/>
- <classpathentry kind="lib" path="lib/maven-aether-provider-3.2.5.jar"/>
- <classpathentry kind="lib" path="lib/maven-artifact-3.2.5.jar"/>
- <classpathentry kind="lib" path="lib/maven-compat-3.2.5.jar"/>
- <classpathentry kind="lib" path="lib/maven-core-3.2.5.jar"/>
- <classpathentry kind="lib" path="lib/maven-embedder-3.2.5.jar"/>
- <classpathentry kind="lib" path="lib/maven-model-3.2.5.jar"/>
- <classpathentry kind="lib" path="lib/maven-model-builder-3.2.5.jar"/>
- <classpathentry kind="lib" path="lib/maven-plugin-api-3.2.5.jar"/>
- <classpathentry kind="lib" path="lib/maven-repository-metadata-3.2.5.jar"/>
- <classpathentry kind="lib" path="lib/maven-settings-3.2.5.jar"/>
- <classpathentry kind="lib" path="lib/maven-settings-builder-3.2.5.jar"/>
- <classpathentry kind="lib" path="lib/org.eclipse.sisu.inject-0.3.0.M1.jar"/>
- <classpathentry kind="lib" path="lib/org.eclipse.sisu.plexus-0.3.0.M1.jar"/>
- <classpathentry kind="lib" path="lib/plexus-cipher-1.7.jar"/>
- <classpathentry kind="lib" path="lib/plexus-classworlds-2.5.2.jar"/>
- <classpathentry kind="lib" path="lib/plexus-component-annotations-1.5.5.jar"/>
- <classpathentry kind="lib" path="lib/plexus-interpolation-1.21.jar"/>
- <classpathentry kind="lib" path="lib/plexus-sec-dispatcher-1.3.jar"/>
- <classpathentry kind="lib" path="lib/plexus-utils-3.0.20.jar"/>
- <classpathentry kind="lib" path="lib/sisu-guice-3.2.3-no_aop.jar"/>
- <classpathentry kind="lib" path="lib/wagon-file-1.0.jar"/>
- <classpathentry kind="lib" path="lib/wagon-http-lightweight-1.0.jar"/>
- <classpathentry kind="lib" path="lib/wagon-http-shared-1.0.jar"/>
- <classpathentry kind="lib" path="lib/wagon-provider-api-1.0.jar"/>
- <classpathentry kind="lib" path="lib/wagon-webdav-jackrabbit-1.0.jar"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" output="target/classes" path="src"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="lib" path="lib/aether-connector-wagon-1.11.jar"/>
- <classpathentry kind="lib" path="lib/google-collections-1.0.jar"/>
- <classpathentry kind="lib" path="lib/maven-aether-provider-3.0.3.jar"/>
- <classpathentry kind="lib" path="lib/maven-artifact-3.0.3.jar"/>
- <classpathentry kind="lib" path="lib/maven-compat-3.0.3.jar"/>
- <classpathentry kind="lib" path="lib/maven-core-3.0.3.jar"/>
- <classpathentry kind="lib" path="lib/maven-embedder-3.0.3.jar"/>
- <classpathentry kind="lib" path="lib/maven-model-3.0.3.jar"/>
- <classpathentry kind="lib" path="lib/maven-model-builder-3.0.3.jar"/>
- <classpathentry kind="lib" path="lib/maven-plugin-api-3.0.3.jar"/>
- <classpathentry kind="lib" path="lib/maven-repository-metadata-3.0.3.jar"/>
- <classpathentry kind="lib" path="lib/maven-settings-3.0.3.jar"/>
- <classpathentry kind="lib" path="lib/maven-settings-builder-3.0.3.jar"/>
- <classpathentry kind="lib" path="lib/nekohtml-1.9.6.2.jar"/>
- <classpathentry kind="lib" path="lib/plexus-cipher-1.4.jar"/>
- <classpathentry kind="lib" path="lib/plexus-classworlds-2.4.jar"/>
- <classpathentry kind="lib" path="lib/plexus-component-annotations-1.5.5.jar"/>
- <classpathentry kind="lib" path="lib/plexus-container-default-1.5.5.jar"/>
- <classpathentry kind="lib" path="lib/plexus-interpolation-1.14.jar"/>
- <classpathentry kind="lib" path="lib/plexus-sec-dispatcher-1.3.jar"/>
- <classpathentry kind="lib" path="lib/plexus-utils-2.0.6.jar"/>
- <classpathentry kind="lib" path="lib/sisu-guice-2.9.4-no_aop.jar"/>
- <classpathentry kind="lib" path="lib/sisu-inject-bean-2.1.1.jar"/>
- <classpathentry kind="lib" path="lib/sisu-inject-plexus-2.1.1.jar"/>
- <classpathentry kind="lib" path="lib/wagon-file-1.0-beta-7.jar"/>
- <classpathentry kind="lib" path="lib/wagon-http-lightweight-1.0-beta-7.jar"/>
- <classpathentry kind="lib" path="lib/wagon-http-shared-1.0-beta-7.jar"/>
- <classpathentry kind="lib" path="lib/wagon-provider-api-1.0-beta-7.jar"/>
- <classpathentry kind="lib" path="lib/wagon-webdav-jackrabbit-1.0-beta-7.jar"/>
- <classpathentry kind="lib" path="lib/xbean-reflect-3.4.jar"/>
- <classpathentry kind="lib" path="lib/aether-impl-1.11.jar"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
+++ /dev/null
-/target/
-/bin/
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.slc.support.maven</name>
- <comment>NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment>
- <projects/>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
\ No newline at end of file
+++ /dev/null
-Manifest-Version: 1.0\r
-Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt\r
-Bundle-ManifestVersion: 2\r
-Bundle-Name: SLC Third Party Support\r
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8\r
-Bundle-SymbolicName: org.argeo.slc.support.maven\r
-Bundle-Version: 2.1.8.SNAPSHOT-r201703070941\r
-Import-Package: com.jcraft.jsch;version="[0.1,1)",\r
- javax.jcr;version="[2.0,3)",\r
- javax.mail;version="[1.5,2)",\r
- javax.mail.internet;version="[1.5,2)",\r
- javax.security.auth,\r
- javax.security.auth.callback,\r
- javax.security.auth.login,\r
- javax.sql,\r
- javax.swing,\r
- javax.swing.plaf.metal,\r
- junit.framework;version="[4.11,5)";resolution:=optional,\r
- org.apache.commons.exec;version="[1.3,2)",\r
- org.apache.commons.io;version="[2.4,3)",\r
- org.apache.commons.logging;version="[1.1,2)",\r
- org.apache.commons.vfs2;version="[2.0,3)",\r
- org.apache.commons.vfs2.impl;version="[2.0,3)",\r
- org.apache.log4j;version="[1.2,2)",\r
- org.apache.log4j.spi;version="[1.2,2)",\r
- org.argeo.jcr;version="[2.1,3)",\r
- org.argeo.node;version="[2.1,3)",\r
- org.argeo.slc;version="[2.1,3)",\r
- org.argeo.slc.aether.osgi,\r
- org.argeo.slc.aether,\r
- org.eclipse.aether.util.graph.visitor,\r
- org.eclipse.aether.spi.locator,\r
- org.argeo.slc.build;version="[2.1,3)",\r
- org.argeo.slc.core.deploy;version="[2.1,3)",\r
- org.argeo.slc.core.execution;version="[2.1,3)",\r
- org.argeo.slc.core.execution.tasks;version="[2.1,3)",\r
- org.argeo.slc.deploy;version="[2.1,3)",\r
- org.argeo.slc.execution;version="[2.1,3)",\r
- org.argeo.slc.jsch,\r
- org.eclipse.aether;version="[1.0,2)",\r
- org.eclipse.aether.artifact;version="[1.0,2)",\r
- org.eclipse.aether.collection;version="[1.0,2)",\r
- org.eclipse.aether.graph;version="[1.0,2)",\r
- org.eclipse.aether.impl;version="[1.0,2)",\r
- org.eclipse.aether.metadata;version="[1.0,2)",\r
- org.eclipse.aether.repository;version="[1.0,2)",\r
- org.eclipse.aether.resolution;version="[1.0,2)",\r
- org.eclipse.aether.transfer;version="[1.0,2)",\r
- org.eclipse.aether.util.repository;version="[1.0,2)",\r
- org.eclipse.aether.version;version="[1.0,2)",\r
- org.osgi.framework;version="[1.8,2)",\r
- org.springframework.beans.factory;version="[3.2,4)",\r
- org.springframework.core.io;version="[3.2,4)",\r
- org.springframework.util;version="[3.2,4)",\r
- org.tmatesoft.svn.core;version="[1.8,2)",\r
- org.tmatesoft.svn.core.internal.io.dav;version="[1.8,2)",\r
- org.tmatesoft.svn.core.internal.io.fs;version="[1.8,2)",\r
- org.tmatesoft.svn.core.io;version="[1.8,2)",\r
- org.tmatesoft.svn.core.wc;version="[1.8,2)",\r
- org.tmatesoft.svn.core.wc.admin;version="[1.8,2)"\r
-Include-Resource: org/argeo/slc/lib/linux/redhat.xml=src/org/argeo/slc/l\r
- ib/linux/redhat.xml,org/argeo/slc/lib/linux/lxc-init-host.sh=src/org/ar\r
- geo/slc/lib/linux/lxc-init-host.sh,org/argeo/slc/lib/linux/lxc-init-gue\r
- st.sh=src/org/argeo/slc/lib/linux/lxc-init-guest.sh,org/argeo/slc/diff/\r
- package.html=src/org/argeo/slc/diff/package.html,org/argeo/slc/jsch/jaa\r
- s.cfg=src/org/argeo/slc/jsch/jaas.cfg\r
-Private-Package: org.argeo.slc.lib.linux,org.argeo.slc.lib.linux.rpmfact\r
- ory,org.argeo.slc.lib.vbox,org.argeo.slc.lib.jcr,org.argeo.slc.lib.svn,\r
- org.argeo.slc.support.deploy,org.argeo.slc.support.deploy.db,org.argeo.\r
- slc.aether.spring,org.argeo.slc.aether,org.argeo.slc.aether.osgi,org.ar\r
- geo.slc.log4j,org.argeo.slc.diff,org.argeo.slc.mail,org.argeo.slc.vfs,o\r
- rg.argeo.slc.jsch\r
-Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"\r
-SLC-Category: org.argeo.slc\r
+++ /dev/null
-/MANIFEST.MF
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"\r
- xsi:schemaLocation="http://www.springframework.org/schema/osgi \r
- http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd\r
- http://www.springframework.org/schema/beans \r
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
-\r
- <!-- SERVICES -->\r
- <service ref="mavenRepositorySystem" interface="org.sonatype.aether.RepositorySystem">\r
- <service-properties>\r
- <beans:entry key="aether.repositorySystemType" value="maven" />\r
- </service-properties>\r
- </service>\r
-\r
- <service ref="defaultMavenRepositorySystemSession" interface="org.sonatype.aether.RepositorySystemSession">\r
- <service-properties>\r
- <beans:entry key="aether.repositorySystemType" value="maven" />\r
- </service-properties>\r
- </service>\r
-</beans:beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
-
-
- <bean id="mavenRepositorySystem" class="org.argeo.slc.maven.MavenManager"
- factory-method="createRepositorySystem">
- </bean>
-
- <bean id="defaultMavenRepositorySystemSession" class="org.argeo.slc.maven.MavenManager"
- factory-method="createRepositorySystemSession">
- <constructor-arg ref="mavenRepositorySystem" />
- </bean>
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<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>argeo-slc</artifactId>
- <version>2.1.10-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.slc.support.maven</artifactId>
- <packaging>bundle</packaging>
- <name>SLC Support Maven</name>
- <properties>
- <version.aether>1.0.1.v20141111</version.aether>
- <version.wagon>1.0</version.wagon>
- </properties>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.felix</groupId>
- <artifactId>maven-bundle-plugin</artifactId>
-
- <configuration>
- <instructions>
- <Export-Package>
- org.argeo.slc.maven.*
- </Export-Package>
- <Import-Package>
- org.w3c.dom.*;version="0.0.0",
- org.xml.sax.*;version="0.0.0",
- com.google.*;resolution:=optional,
- javax.*;resolution:=optional,
- com.sun.*;resolution:=optional,
- org.objectweb.asm.*;resolution:=optional,
- *;resolution:=optional
- </Import-Package>
- <_exportcontents>
- org.apache.maven.*;version=${version.maven},
- </_exportcontents>
- <Private-Package>org.apache.xbean.*</Private-Package>
- <Embed-Transitive>true</Embed-Transitive>
- <Embed-Directory>lib</Embed-Directory>
- <Embed-Dependency>*;scope=compile;inline=false</Embed-Dependency>
- </instructions>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-dependencies</id>
- <phase>process-resources</phase>
- <goals>
- <goal>copy-dependencies</goal>
- </goals>
- <configuration>
- <excludeScope>provided</excludeScope>
- <outputDirectory>lib</outputDirectory>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- <dependencies>
- <dependency>
- <groupId>org.argeo.slc</groupId>
- <artifactId>org.argeo.slc.api</artifactId>
- <version>2.1.10-SNAPSHOT</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.argeo.slc</groupId>
- <artifactId>org.argeo.slc.support</artifactId>
- <version>2.1.10-SNAPSHOT</version>
- <scope>provided</scope>
- </dependency>
-
- <!-- <dependency> <groupId>org.argeo.dep.osgi</groupId> <artifactId>org.argeo.dep.osgi.maven.embedder</artifactId>
- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.spring</groupId> -->
- <!-- <artifactId>org.springframework.beans</artifactId> -->
- <!-- </dependency> -->
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.apache.commons</groupId> -->
- <!-- <artifactId>org.apache.commons.io</artifactId> -->
- <!-- </dependency> -->
-
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.misc</groupId> -->
- <!-- <artifactId>org.slf4j.commons.logging</artifactId> -->
- <!-- </dependency> -->
-
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-embedder</artifactId>
- <version>${version.maven}</version>
- <optional>true</optional>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- <exclusion>
- <groupId>commons-cli</groupId>
- <artifactId>commons-cli</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.eclipse.aether</groupId>
- <artifactId>aether-spi</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.eclipse.aether</groupId>
- <artifactId>aether-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.eclipse.aether</groupId>
- <artifactId>aether-util</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.eclipse.aether</groupId>
- <artifactId>aether-impl</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.eclipse.aether</groupId>
- <artifactId>aether-transport-wagon</artifactId>
- <version>${version.aether}</version>
- <optional>true</optional>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- </exclusion>
- <exclusion>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
- </exclusion>
- <exclusion>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- </exclusion>
- <exclusion>
- <groupId>aopalliance</groupId>
- <artifactId>aopalliance</artifactId>
- </exclusion>
- <exclusion>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.eclipse.aether</groupId>
- <artifactId>aether-spi</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.eclipse.aether</groupId>
- <artifactId>aether-api</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.eclipse.aether</groupId>
- <artifactId>aether-util</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-provider-api</artifactId>
- <version>${version.wagon}</version>
- <optional>true</optional>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-file</artifactId>
- <version>${version.wagon}</version>
- <optional>true</optional>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-http-lightweight</artifactId>
- <version>${version.wagon}</version>
- <optional>true</optional>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>nekohtml</groupId>
- <artifactId>xercesMinimal</artifactId>
- </exclusion>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- <exclusion>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.wagon</groupId>
- <artifactId>wagon-webdav-jackrabbit</artifactId>
- <version>${version.wagon}</version>
- <optional>true</optional>
- <scope>compile</scope>
- <exclusions>
- <exclusion>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-nop</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.apache.jackrabbit</groupId>
- <artifactId>jackrabbit-webdav</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-<!-- <dependency> -->
-<!-- <groupId>org.eclipse.sisu</groupId> -->
-<!-- <artifactId>org.eclipse.sisu.plexus</artifactId> -->
-<!-- <version>0.3.3</version> -->
-<!-- </dependency> -->
-
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.aether</groupId> -->
- <!-- <artifactId>org.eclipse.aether.api</artifactId> -->
- <!-- <scope>provided</scope> -->
- <!-- </dependency> -->
-
- <!-- <dependency> -->
- <!-- <groupId>org.argeo.tp.sdk</groupId> -->
- <!-- <artifactId>org.junit</artifactId> -->
- <!-- <scope>provided</scope> -->
- <!-- </dependency> -->
- </dependencies>
-
- <repositories>
- <repository>
- <id>central</id>
- <url>https://repo1.maven.org/maven2/</url>
- <releases>
- <enabled>true</enabled>
- </releases>
- <snapshots>
- <enabled>false</enabled>
- </snapshots>
- </repository>
- </repositories>
-</project>
\ No newline at end of file
+++ /dev/null
-package org.argeo.slc.maven;
-
-import org.apache.maven.cli.MavenCli;
-import org.codehaus.plexus.PlexusContainer;
-
-/** Custom Maven CLI, giving access to the underlying Plexus container. */
-class CustomCli extends MavenCli {
- private PlexusContainer container;
-
- @Override
- protected void customizeContainer(PlexusContainer container) {
- this.container = container;
- }
-
- public PlexusContainer getContainer() {
- return container;
- }
-
-}
+++ /dev/null
-package org.argeo.slc.maven;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.StringTokenizer;
-
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.slc.SlcException;
-import org.springframework.beans.factory.FactoryBean;
-import org.springframework.core.io.Resource;
-
-public class DependencyFileLoader implements FactoryBean{
- private final static Log log = LogFactory.getLog(DependencyFileLoader.class);
-
- private Resource dependenciesResource;
-
- @SuppressWarnings("unchecked")
- public List<MavenFile> loadMavenFiles() {
- try {
- List<MavenFile> mavenFiles = new ArrayList<MavenFile>();
-
- List<String> lines = IOUtils.readLines(dependenciesResource
- .getInputStream());
- for (String line : lines) {
- try {
- line = line.trim();
- if (line.equals("")
- || line
- .startsWith("The following files have been resolved:"))
- continue;// skip
-
- mavenFiles.add(convert(line));
- } catch (Exception e) {
- log.warn("Could not load line " + line);
- }
- }
-
- return mavenFiles;
- } catch (IOException e) {
- throw new SlcException("Could not read dependencies resource "
- + dependenciesResource, e);
- }
- }
-
- protected MavenFile convert(String str) {
- StringTokenizer st = new StringTokenizer(str, ":");
- MavenFile component = new MavenFile();
- component.setGroupId(st.nextToken());
- component.setArtifactId(st.nextToken());
- component.setType(st.nextToken());
- component.setVersion(st.nextToken());
- component.setScope(st.nextToken());
- return component;
- }
-
- public void setDependenciesResource(Resource dependenciesResource) {
- this.dependenciesResource = dependenciesResource;
- }
-
- public Object getObject() throws Exception {
- return loadMavenFiles();
- }
-
- @SuppressWarnings("unchecked")
- public Class<List> getObjectType() {
- return List.class;
- }
-
- public boolean isSingleton() {
- return false;
- }
-
-
-}
+++ /dev/null
-package org.argeo.slc.maven;
-
-/*******************************************************************************
- * Copyright (c) 2010 Sonatype, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *******************************************************************************/
-
-import org.apache.maven.wagon.Wagon;
-import org.apache.maven.wagon.providers.file.FileWagon;
-import org.apache.maven.wagon.providers.http.LightweightHttpWagon;
-import org.apache.maven.wagon.providers.webdav.WebDavWagon;
-import org.eclipse.aether.transport.wagon.WagonProvider;
-
-public class ManualWagonProvider implements WagonProvider {
-
- public Wagon lookup(String roleHint) throws Exception {
- if ("file".equals(roleHint)) {
- return new FileWagon();
- } else if ("http".equals(roleHint)) {
- return new LightweightHttpWagon();
- } else if ("webdav".equals(roleHint)) {
- return new WebDavWagon();
- }
- return null;
- }
-
- public void release(Wagon wagon) {
-
- }
-
-}
+++ /dev/null
-package org.argeo.slc.maven;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.slc.SlcException;
-import org.codehaus.plexus.PlexusContainer;
-
-/** A Maven execution. */
-public class MavenCall implements Runnable {
- private final static Log log = LogFactory.getLog(MavenCall.class);
- private String basedir;
- private String settings;
- /** Raw command lines arguments */
- private String cl;
- private List<String> goals;
- private List<String> profiles;
- private Map<String, String> properties;
-
- private Boolean success = null;
-
- public void run() {
- Thread.currentThread().setContextClassLoader(
- getClass().getClassLoader());
- List<String> args = new ArrayList<String>();
- args.add("-e");
- if (settings != null && !settings.trim().equals("")) {
- args.add("--settings");
- args.add(settings);
- }
- args.add("-f");
- args.add(getBasedirFile().getPath() + "/pom.xml");
- // FIXME manages \" \". Use Commons CLI?
- if (cl != null) {
- String[] clArgs = cl.split(" ");
- args.addAll(Arrays.asList(clArgs));
- }
-
- if (goals != null)
- args.addAll(goals);
- if (profiles != null)
- for (String profile : profiles)
- args.add("-P" + profile);
- if (properties != null)
- for (String key : properties.keySet())
- args.add("-D" + key + "=\"" + properties.get(key) + "\"");
-
- // String[] goals = { "-o", "-e", "-f", basedir + "/pom.xml", "clean",
- // "install" };
-
- // String m2Home = "/opt/apache-maven-3.0.1";
- // System.setProperty("classworlds.conf", m2Home + "/bin/m2.conf");
- // System.setProperty("maven.home", m2Home);
- //
- // Launcher.main(goals);
- log.info("Maven call: " + args);
-
- CustomCli mavenCli = new CustomCli();
- int exitCode = mavenCli.doMain(args.toArray(new String[args.size()]),
- getBasedirFile().getPath(), System.out, System.err);
- if (log.isDebugEnabled())
- log.debug("Maven exit code: " + exitCode);
- if (exitCode == 0)
- success = true;
- else
- success = false;
-
- PlexusContainer plexusContainer = mavenCli.getContainer();
- if (log.isDebugEnabled())
- log.debug(plexusContainer.getContext().getContextData());
- plexusContainer.dispose();
- }
-
- /** Removes 'file:' prefix if present */
- protected File getBasedirFile() {
- if (basedir == null)
- throw new SlcException("basedir not set");
- File dir;
- if (basedir.startsWith("file:"))
- dir = new File(basedir.substring("file:".length()));
- else
- dir = new File(basedir);
- return dir;
- }
-
- public void setBasedir(String basedir) {
- this.basedir = basedir;
- }
-
- public void setSettings(String settings) {
- this.settings = settings;
- }
-
- public void setGoals(List<String> goals) {
- this.goals = goals;
- }
-
- public void setProfiles(List<String> profiles) {
- this.profiles = profiles;
- }
-
- public void setProperties(Map<String, String> properties) {
- this.properties = properties;
- }
-
- public void setCl(String cl) {
- this.cl = cl;
- }
-
- public Boolean getSuccess() {
- return success == null ? false : success;
- }
-
-}
+++ /dev/null
-package org.argeo.slc.maven;
-
-import java.io.File;
-import java.net.URL;
-import java.util.Map;
-import java.util.Properties;
-import java.util.UUID;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.slc.SlcException;
-import org.argeo.slc.deploy.DeployEnvironment;
-
-public abstract class MavenDeployEnvironment implements DeployEnvironment {
- private static final Log log = LogFactory
- .getLog(MavenDeployEnvironment.class);
- private MavenManager mavenManager;
-
- public void unpackTo(Object packg, File targetLocation,
- Map<String, String> filter) {
- File packageLocation=null;
- String type = null;
- String removeRootDir = "enabled";
-// if (packg instanceof MavenFile) {
-// packageLocation = mavenManager
-// .getPackageLocation((MavenFile) packg);
-// type = ((MavenFile) packg).getType();
-// } else
- if (packg instanceof File) {
- packageLocation = (File) packg;
- // TODO: type based on extension
- } else {
- throw new SlcException("Unrecognized package type "
- + packg.getClass());
- }
- if (log.isDebugEnabled()) {
- log.debug("Unpack " + packageLocation + " of type " + type + " to "
- + targetLocation);
- }
-
- try {
- File tempDir = new File("/tmp/" + UUID.randomUUID().toString());
- tempDir.mkdirs();
- targetLocation.mkdirs();
- Properties props = new Properties();
- props.setProperty("dest", targetLocation.getAbsolutePath());
- props.setProperty("src", packageLocation.getAbsolutePath());
- props.setProperty("tempDir", tempDir.getAbsolutePath());
- props.setProperty("removeRootDir", removeRootDir);
-
- URL antUrl = getClass().getClassLoader().getResource(
- "org/argeo/slc/support/deploy/ant/build.xml");
-
- // if (type == null || type.equals("zip")) {
- // new AntRunner(antUrl, "deployZip", props).run();
- // } else if (type.equals("tar.gz")) {
- // new AntRunner(antUrl, "deployTarGz", props).run();
- // } else {
- // throw new SlcException("Unknow package type " + type);
- // }
- throw new SlcException("Not implemented.");
- } catch (SlcException e) {
- throw e;
- } catch (Exception e) {
- throw new SlcException("Cannot unpack package " + packg + " to "
- + targetLocation, e);
- }
- }
-
- public void setMavenManager(MavenManager mavenManager) {
- this.mavenManager = mavenManager;
- }
-
-}
+++ /dev/null
-package org.argeo.slc.maven;
-
-import org.argeo.slc.build.Distribution;
-import org.argeo.slc.deploy.DeploymentData;
-
-public class MavenFile implements Distribution, DeploymentData {
- private String groupId;
- private String artifactId;
- private String version;
- private String type;
- private String classifier;
- private String scope;
-
- public String getScope() {
- return scope;
- }
-
- public void setScope(String scope) {
- this.scope = scope;
- }
-
- private String distributionId;
-
- public String getDistributionId() {
- return distributionId;
- }
-
- public void setDistributionId(String distributionId) {
- this.distributionId = distributionId;
- }
-
- public String getGroupId() {
- return groupId;
- }
-
- public void setGroupId(String groupId) {
- this.groupId = groupId;
- }
-
- public String getArtifactId() {
- return artifactId;
- }
-
- public void setArtifactId(String artifactId) {
- this.artifactId = artifactId;
- }
-
- public String getVersion() {
- return version;
- }
-
- public void setVersion(String version) {
- this.version = version;
- }
-
- public String getType() {
- return type;
- }
-
- public void setType(String type) {
- this.type = type;
- }
-
- public String getClassifier() {
- return classifier;
- }
-
- public void setClassifier(String classifier) {
- this.classifier = classifier;
- }
-
-}
+++ /dev/null
-package org.argeo.slc.maven;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
-import org.argeo.slc.SlcException;
-import org.argeo.slc.aether.AetherUtils;
-import org.argeo.slc.aether.ConsoleRepositoryListener;
-import org.argeo.slc.aether.ConsoleTransferListener;
-import org.codehaus.plexus.PlexusContainer;
-import org.eclipse.aether.DefaultRepositorySystemSession;
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.collection.CollectRequest;
-import org.eclipse.aether.graph.Dependency;
-import org.eclipse.aether.graph.DependencyNode;
-import org.eclipse.aether.impl.DefaultServiceLocator;
-import org.eclipse.aether.repository.LocalRepository;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.util.graph.visitor.PreorderNodeListGenerator;
-
-public class MavenManager {
- private final static Log log = LogFactory.getLog(MavenManager.class);
-
- public void init() {
- try {
- testMaven();
- testAether();
- // List<ComponentDescriptor<?>> lst = plexusContainer
- // .discoverComponents(plexusContainer.getContainerRealm());
- // for (ComponentDescriptor<?> cd : lst) {
- // log.debug(cd);
- // }
- // ArtifactHandler artifactHandler = plexusContainer
- // .lookup(ArtifactHandler.class);
- // ArtifactRepository localRepository = new
- // DefaultArtifactRepositoryFactory().createArtifactRepository("local",
- // , layoutId, snapshots, releases);
- // Maven maven = mavenCli.getContainer().lookup(Maven.class);
- // Artifact artifact = new DefaultArtifact("org.argeo.slc.dist",
- // "org.argeo.slc.sdk", "0.13.1-SNAPSHOT", "compile", "pom",
- // null, artifactHandler);
- // ArtifactResolutionRequest req = new ArtifactResolutionRequest();
- // req.setLocalRepository(localRepository);
- // req.setResolveTransitively(true);
- // req.setArtifact(artifact);
- // ArtifactResolver artifactResolver = plexusContainer
- // .lookup(ArtifactResolver.class);
- // ArtifactResolutionResult res = artifactResolver.resolve(req);
- // Set<Artifact> artifacts = res.getArtifacts();
- // for (Artifact art : artifacts) {
- // log.debug(art);
- // }
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-
- public void testMaven() {
- Thread.currentThread().setContextClassLoader(
- getClass().getClassLoader());
- String[] goals = { "-o", "-e", "-f",
- "/home/mbaudier/dev/src/slc/dist/org.argeo.slc.sdk/pom.xml",
- "dependency:tree" };
-
- // String m2Home = "/opt/apache-maven-3.0.1";
- // System.setProperty("classworlds.conf", m2Home + "/bin/m2.conf");
- // System.setProperty("maven.home", m2Home);
- //
- // Launcher.main(goals);
-
- CustomCli mavenCli = new CustomCli();
- mavenCli.doMain(goals,
- "/home/mbaudier/dev/src/slc/dist/org.argeo.slc.sdk",
- System.out, System.err);
-
- PlexusContainer plexusContainer = mavenCli.getContainer();
- log.debug(plexusContainer.getContext().getContextData());
- plexusContainer.dispose();
- }
-
- public void testAether() {
- try {
- RepositorySystem repoSystem = createRepositorySystem();
-
- RepositorySystemSession session = createRepositorySystemSession(repoSystem);
-
- Dependency dependency = new Dependency(new DefaultArtifact(
- "org.argeo.slc.dep:org.argeo.slc.dep.sdk:0.13.1-SNAPSHOT"),
- "compile");
-// RemoteRepository argeo = new RemoteRepository("argeo", "default",
-// "http://maven.argeo.org/argeo/");
-// RemoteRepository argeoSnapshots = new RemoteRepository(
-// "argeo-snapshots", "default",
-// "http://dev.argeo.org/maven/argeo-snapshots/");
- RemoteRepository argeo =null;
- RemoteRepository argeoSnapshots =null;
-
- CollectRequest collectRequest = new CollectRequest();
- collectRequest.setRoot(dependency);
- collectRequest.addRepository(argeo);
- collectRequest.addRepository(argeoSnapshots);
- DependencyNode node = repoSystem.collectDependencies(session,
- collectRequest).getRoot();
-
-// repoSystem.resolveDependencies(session, node, null);
-
- PreorderNodeListGenerator nlg = new PreorderNodeListGenerator();
- node.accept(nlg);
-
- for (Artifact artifact : nlg.getArtifacts(true)) {
- log.debug(artifact);
- }
-
- AetherUtils.logDependencyNode(0, node);
- // System.out.println(nlg.getClassPath());
-
- } catch (Exception e) {
- throw new SlcException("Cannot resolve", e);
- }
-
- }
-
- /** Creates a Maven {@link RepositorySystem}. */
- public static RepositorySystem createRepositorySystem() {
- try {
- DefaultServiceLocator locator = new DefaultServiceLocator();
-
-// locator.setServices(WagonProvider.class, new ManualWagonProvider());
-// locator.addService(RepositoryConnectorFactory.class,
-// WagonRepositoryConnectorFactory.class);
-
- return locator.getService(RepositorySystem.class);
- } catch (Exception e) {
- throw new SlcException("Cannot lookup repository system", e);
- }
- }
-
- public static RepositorySystemSession createRepositorySystemSession(
- RepositorySystem system) {
-// MavenRepositorySystemSession session = new MavenRepositorySystemSession();
- DefaultRepositorySystemSession session = MavenRepositorySystemUtils.newSession();
-
- LocalRepository localRepo = new LocalRepository(
- System.getProperty("user.home") + "/.m2/repository");
- session.setLocalRepositoryManager( system.newLocalRepositoryManager( session, localRepo ) );
-// session.setLocalRepositoryManager(system
-// .newLocalRepositoryManager(localRepo));
- session.setTransferListener(new ConsoleTransferListener(System.out));
- session.setRepositoryListener(new ConsoleRepositoryListener());
- return session;
- }
-
- public static void main(String[] args) {
- new MavenManager().init();
- }
-
-}
+++ /dev/null
-package org.argeo.slc.maven;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.FactoryBean;
-
-public class MavenToUrl implements FactoryBean {
- private List<MavenFile> mavenFiles;
- private String baseUrl;
-
- public List<String> asUrls() {
- List<String> urls = new ArrayList<String>();
- for (MavenFile mf : mavenFiles)
- urls.add(convertToUrl(mf));
- return urls;
- }
-
- public String convertToUrl(MavenFile mf) {
- return baseUrl + mf.getGroupId().replace('.', '/') + '/'
- + mf.getArtifactId() + '/' + mf.getVersion() + '/'
- + mf.getArtifactId() + '-' + mf.getVersion() + '.'
- + mf.getType();
- }
-
- public void setMavenFiles(List<MavenFile> mavenFiles) {
- this.mavenFiles = mavenFiles;
- }
-
- public void setBaseUrl(String baseUrl) {
- this.baseUrl = baseUrl;
- }
-
- public Object getObject() throws Exception {
- return asUrls();
- }
-
- public Class<?> getObjectType() {
- return List.class;
- }
-
- public boolean isSingleton() {
- return false;
- }
-
-}
+++ /dev/null
-package org.argeo.slc.maven;
-
-public class RemoteRepo {
- private String id;
- private String url;
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public String getUrl() {
- return url;
- }
-
- public void setUrl(String url) {
- this.url = url;
- }
-
-}
+++ /dev/null
-<!--\r
-\r
- Copyright (C) 2007-2012 Argeo GmbH\r
-\r
- Licensed under the Apache License, Version 2.0 (the "License");\r
- you may not use this file except in compliance with the License.\r
- You may obtain a copy of the License at\r
-\r
- http://www.apache.org/licenses/LICENSE-2.0\r
-\r
- Unless required by applicable law or agreed to in writing, software\r
- distributed under the License is distributed on an "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- See the License for the specific language governing permissions and\r
- limitations under the License.\r
-\r
--->\r
-<project>\r
-\r
- <target name="deployZip">
- <unzip src="${src}" dest="${tempDir}" />
- <copyFromTemp />
- </target>
-
- <target name="deployTarGz">
- <untar src="${src}" dest="${tempDir}" compression="gzip" />
- <copyFromTemp />
- </target>
-
- <macrodef name="copyFromTemp">
- <sequential>
- <copy todir="${dest}" includeemptydirs="true">
- <fileset dir="${tempDir}">
- <include name="**/*" />
- </fileset>
- <mapper classname="org.argeo.slc.ant.RemoveRootDirMapper" to="${removeRootDir}" />
- </copy>
- </sequential>
- </macrodef>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
-
- <import resource="classpath:/org/argeo/slc/detached/spring.xml" />
-
- <bean id="propertyConfigurer"
- class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="systemPropertiesModeName">
- <value>SYSTEM_PROPERTIES_MODE_OVERRIDE</value>
- </property>
- </bean>
-
- <!-- Steps -->
- <bean id="step.mirror" class="org.argeo.slc.detached.MirrorStep">
- </bean>
-
- <!-- Runtime -->
- <bean id="driver.detached" parent="slcTemplate.detached.fileDriver"
- init-method="start" destroy-method="stop">
- <property name="baseDir" value="${user.dir}/target/detached" />
- <property name="xmlConverter" ref="slcDefault.detached.xmlConverterCompat" />
- <property name="executionServer" ref="executionServer.serviceref" />
- </bean>
-
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
- xsi:schemaLocation="http://www.springframework.org/schema/osgi
- http://www.springframework.org/schema/osgi/spring-osgi.xsd
- http://www.springframework.org/schema/beans
- http://www.springframework.org/schema/beans/spring-beans.xsd">
-
-<!--
- <reference id="slcDetached.driver" interface="org.argeo.slc.detached.DetachedDriver" />
--->
- <reference id="executionServer.serviceref" interface="org.argeo.slc.detached.DetachedExecutionServer" />
-
-</beans:beans>
\ No newline at end of file
+++ /dev/null
-<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.demo</groupId>
- <artifactId>modules</artifactId>
- <version>2.1.1-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.slc.demo.det</artifactId>
- <name>SLC Demo Det(ached)</name>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
-
- <bean id="detachedTest" parent="slcTemplate.simpleFlow">
- <property name="path" value="/detached" />
- <property name="executables">
- <list>
- <bean parent="task.echo" scope="execution">
- <property name="message" value="Executing step" />
- <aop:scoped-proxy />
- </bean>
-
- <bean parent="detachedAdminTask">
- <property name="action" value="slcDefault.detached.admin.openSession" />
- <property name="properties">
- <props>
- <prop key="slc.detached.refreshedBundles">org.argeo.slc.demo.det
- </prop>
- </props>
- </property>
- </bean>
-
- <bean parent="stepTestRun">
- <property name="testDefinition">
- <bean parent="detachedTestDef">
- <property name="stepRef" value="step.mirror" />
- </bean>
- </property>
- <property name="testData" ref="detached.data.dummy" />
- </bean>
-
-
- <bean parent="detachedAdminTask">
- <property name="action" value="slcDefault.detached.admin.closeSession" />
- </bean>
- </list>
- </property>
- </bean>
-
- <bean id="stepTestRun" class="org.argeo.slc.core.test.SimpleTestRun">
- <property name="testResult">
- <bean parent="slcDefault.test.basicTreeTestResult">
- <property name="listeners">
- <list>
- <bean class="org.argeo.slc.core.test.tree.TreeTestResultLogger" />
- </list>
- </property>
- </bean>
- </property>
- </bean>
-
-
- <bean id="detachedTestDef" parent="slcTemplate.detached.testDefinition"
- scope="prototype">
- <property name="client" ref="driver.runtime" />
- </bean>
-
- <bean id="detachedAdminTask" class="org.argeo.slc.lib.detached.DetachedAdminTask"
- abstract="true">
- <property name="client" ref="driver.runtime" />
- </bean>
-
- <bean id="driver.runtime" class="org.argeo.slc.detached.drivers.FileDriver"
- init-method="cleanPreviousRuns">
- <property name="baseDir" value="${user.dir}/local/detached" />
- <property name="xmlConverter" ref="slcDefault.detached.xmlConverterCastor" />
- </bean>
-
- <bean id="detached.data.dummy" class="org.argeo.slc.lib.detached.DetachedTestData"
- scope="prototype">
- <property name="values">
- <map>
- <entry key="label" value="tata" />
- </map>
- </property>
- <property name="expectedValues">
- <map>
- <entry key="label" value="tata" />
- </map>
- </property>
- </bean>
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
-
- <import resource="classpath:org/argeo/slc/core/execution/spring.xml" />
-
- <import resource="classpath:/org/argeo/slc/core/test/spring.xml" />
- <import resource="classpath:/org/argeo/slc/lib/detached/spring.xml" />
-
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
- xmlns:aop="http://www.springframework.org/schema/aop"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
- http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
-
- <bean id="launch" parent="slcTemplate.simpleFlow">
- <constructor-arg>
- <bean parent="slcTemplate.simpleSpec">
- <property name="attributes">
- <map>
- <entry key="spartaDist">
- <bean parent="specAttr.primitive"
- p:value="${user.home}/Desktop/sparta-dist-0.9.3-SNAPSHOT" />
- </entry>
- <entry key="detachedLauncherJar">
- <bean parent="specAttr.primitive"
- p:value="${user.home}/.m2/repository/org/argeo/slc/runtime/org.argeo.slc.detached.launcher/0.11.4-SNAPSHOT/org.argeo.slc.detached.launcher-0.11.4-SNAPSHOT.jar" />
- </entry>
- </map>
- </property>
- </bean>
- </constructor-arg>
- <property name="executables">
- <list>
-
- <bean parent="task.echo" p:message="osgi.install.area=${osgi.install.area}" />
- <bean parent="task.echo" p:message="osgi.framework=${osgi.framework}" />
-
- <ref local="jvmProcess" />
- </list>
- </property>
- </bean>
-
- <bean id="jvmProcess" class="org.argeo.slc.core.execution.tasks.JvmProcess">
- <property name="mainClass" value="org.argeo.slc.detached.launcher.Main" />
- <property name="classpath">
- <list>
- <value>${osgi.framework}</value>
- <value>file:@{detachedLauncherJar}</value>
- </list>
- </property>
- </bean>
-
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"\r
- xsi:schemaLocation="http://www.springframework.org/schema/osgi \r
- http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd\r
- http://www.springframework.org/schema/beans \r
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
-\r
- <beans:import resource="classpath:org/argeo/slc/osgi/execution.xml" />\r
-\r
-</beans:beans>
\ No newline at end of file
+++ /dev/null
-<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.demo</groupId>
- <artifactId>modules</artifactId>
- <version>2.1.1-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.slc.demo.detached</artifactId>
- <name>SLC Demo Detached</name>
-</project>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.slc.demo.maven</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-#Wed Jan 06 20:27:20 CET 2010
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
-
- <import resource="classpath:org/argeo/slc/core/execution/simple.xml" />
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns="http://www.springframework.org/schema/beans"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"\r
- xmlns:aop="http://www.springframework.org/schema/aop"\r
- xsi:schemaLocation="\r
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
- http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd\r
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">\r
-\r
- <bean id="mavenManager" class="org.argeo.slc.maven.MavenManager"\r
- init-method="init">\r
- <!-- \r
- <property name="remoteRepositories">\r
- <list>\r
- <bean p:id="central" p:url="http://repo1.maven.org/maven2"\r
- class="org.argeo.slc.maven.RemoteRepository" />\r
- </list>\r
- </property>\r
- -->\r
- </bean>\r
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"\r
- xsi:schemaLocation="http://www.springframework.org/schema/osgi \r
- http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd\r
- http://www.springframework.org/schema/beans \r
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
-\r
- <beans:import resource="classpath:org/argeo/slc/osgi/execution.xml" />\r
-</beans:beans>
\ No newline at end of file
+++ /dev/null
-bin.includes = META-INF/
+++ /dev/null
-<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.demo</groupId>
- <artifactId>modules</artifactId>
- <version>2.1.1-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.slc.demo.maven</artifactId>
- <name>SLC Demo Maven</name>
-</project>
\ No newline at end of file
<modules>
<module>org.argeo.slc.demo.ant</module>
<module>org.argeo.slc.demo.basic</module>
- <!-- <module>org.argeo.slc.demo.det</module> -->
- <!-- <module>org.argeo.slc.demo.detached</module> -->
- <!-- <module>org.argeo.slc.demo.maven</module> -->
<module>org.argeo.slc.demo.minimal</module>
</modules>
<properties>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.slc.lib.build</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-/MANIFEST.MF
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns="http://www.springframework.org/schema/beans"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"\r
- xmlns:aop="http://www.springframework.org/schema/aop" xmlns:flow="http://www.argeo.org/schema/slc-flow"\r
- xsi:schemaLocation="\r
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
- http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd\r
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd\r
- http://www.argeo.org/schema/slc-flow http://www.argeo.org/schema/slc-flow-1.2.xsd">\r
-\r
- <flow:flow name="test/deployLxcContainer">\r
- <description>Init an LXC container</description>\r
- <flow:spec>\r
- <flow:primitive name="chroot" value="/var/lib/libvirt/lxc/test" />\r
- </flow:spec>\r
- <bean class="org.argeo.slc.lib.linux.DeployLxcContainer">\r
- <flow:variable />\r
- <property name="chroot" value="@{chroot}" />\r
- <property name="callbackHandler" ref="callbackHandler" />\r
- </bean>\r
- </flow:flow>\r
-\r
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns="http://www.springframework.org/schema/beans"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"\r
- xmlns:aop="http://www.springframework.org/schema/aop" xmlns:flow="http://www.argeo.org/schema/slc-flow"\r
- xsi:schemaLocation="\r
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
- http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd\r
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd\r
- http://www.argeo.org/schema/slc-flow http://www.argeo.org/schema/slc-flow-1.2.xsd">\r
-\r
- <flow:spec id="mavenCall.spec">\r
- <flow:primitive name="mvnArgs" value="" />\r
- <flow:primitive name="mvnSettings" value="" />\r
- <flow:primitive name="mvnBaseDir" value="." />\r
- </flow:spec>\r
-\r
- <flow:flow id="mvn" spec="mavenCall.spec">\r
- <description>Pure Maven call</description>\r
- <bean class="org.argeo.slc.maven.MavenCall">\r
- <flow:variable />\r
- <property name="cl" value="@{mvnArgs}" />\r
- <property name="basedir" value="@{mvnBaseDir}" />\r
- <property name="settings" value="@{mvnSettings}" />\r
- </bean>\r
- </flow:flow>\r
-\r
- <!-- Templates -->\r
- <bean name="templates/defaultMavenCall" abstract="true"\r
- class="org.argeo.slc.maven.MavenCall">\r
- <property name="cl" value="@{mvnArgs}" />\r
- <property name="basedir" value="." />\r
- <property name="settings" value="" />\r
- </bean>\r
-\r
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"\r
- xsi:schemaLocation="http://www.springframework.org/schema/osgi \r
- http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd\r
- http://www.springframework.org/schema/beans \r
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
-\r
- <beans:import resource="classpath:org/argeo/slc/core/execution/spring.xml" />\r
- <beans:import resource="classpath:org/argeo/slc/osgi/execution.xml" />\r
-\r
- <!-- REFERENCES -->\r
-<!-- <reference id="javaRepository" interface="javax.jcr.Repository" -->\r
-<!-- filter="(cn=java)" /> -->\r
-\r
- <!-- Maven -->\r
-<!-- <reference id="mavenRepositorySystem" interface="org.sonatype.aether.RepositorySystem" -->\r
-<!-- filter="(aether.repositorySystemType=maven)" /> -->\r
-<!-- <reference id="mavenRepositorySystemSession" interface="org.sonatype.aether.RepositorySystemSession" -->\r
-<!-- filter="(aether.repositorySystemType=maven)" /> -->\r
-\r
-</beans:beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns="http://www.springframework.org/schema/beans"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"\r
- xmlns:aop="http://www.springframework.org/schema/aop" xmlns:flow="http://www.argeo.org/schema/slc-flow"\r
- xsi:schemaLocation="\r
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
- http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-2.5.xsd\r
- http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd\r
- http://www.argeo.org/schema/slc-flow http://www.argeo.org/schema/slc-flow-1.2.xsd">\r
-\r
- <flow:flow name="dev">\r
- <description>Argeo Developer Build </description>\r
- <flow:spec>\r
- <flow:primitive name="mvnArgs" value="clean install" />\r
- </flow:spec>\r
- <bean parent="templates/defaultMavenCall">\r
- <flow:variable />\r
- </bean>\r
- </flow:flow>\r
-\r
- <flow:flow name="devFull">\r
- <description>Argeo Full Developer Build </description>\r
- <flow:spec>\r
- <flow:primitive name="mvnArgs"\r
- value="clean argeo-osgi:pde-sources install" />\r
- </flow:spec>\r
- <bean parent="templates/defaultMavenCall">\r
- <flow:variable />\r
- </bean>\r
- </flow:flow>\r
-\r
-\r
-</beans>
\ No newline at end of file
+++ /dev/null
-<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>lib</artifactId>
- <version>2.3-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.slc.lib.build</artifactId>
- <name>SLC Lib - Build</name>
- <description>Perform builds according to Argeo conventions</description>
-</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.slc.lib.jcr</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-eclipse.preferences.version=1
-pluginProject.extensions=false
-resolve.requirebundle=false
+++ /dev/null
-/MANIFEST.MF
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns:flow="http://www.argeo.org/schema/slc-flow" xmlns="http://www.springframework.org/schema/beans"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"\r
- xsi:schemaLocation="\r
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
- http://www.argeo.org/schema/slc-flow http://www.argeo.org/schema/slc-flow-1.2.xsd">\r
-\r
- <flow:flow name="backup">\r
- <description>Backups a JCR repository</description>\r
- <flow:spec>\r
- <flow:primitive name="targetFile"\r
- value="file://${user.home}/.slc/backups/node" />\r
- <flow:primitive name="sourceRepo" value="vm:///node/" />\r
- <flow:primitive name="sourceWksp" value="" />\r
- <flow:primitive name="sourceDatastore" value="" />\r
- <flow:primitive name="sourceUsername" value="${user.name}" />\r
- <flow:primitive name="sourcePassword" type="password"\r
- value="" />\r
- </flow:spec>\r
- <bean class="org.argeo.slc.lib.jcr.JcrRepositoryBackup">\r
- <flow:variable proxy-target-class="false" />\r
- <property name="targetFile" value="@{targetFile}" />\r
- <property name="sourceRepo" value="@{sourceRepo}" />\r
- <property name="sourceWksp" value="@{sourceWksp}" />\r
- <property name="sourceDatastore" value="@{sourceDatastore}" />\r
- <property name="sourceUsername" value="@{sourceUsername}" />\r
- <property name="sourcePassword" value="@{sourcePassword}" />\r
- <property name="repositoryFactory" ref="repositoryFactory" />\r
- <property name="fileSystemManager" ref="fileSystemManager" />\r
- </bean>\r
- </flow:flow>\r
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"\r
- xsi:schemaLocation="http://www.springframework.org/schema/osgi \r
- http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd\r
- http://www.springframework.org/schema/beans \r
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
-\r
- <!-- IMPORTS -->\r
- <beans:import resource="classpath:org/argeo/slc/core/execution/spring.xml" />\r
- <beans:import resource="classpath:org/argeo/slc/osgi/execution.xml" />\r
-\r
- <!-- REFERENCES -->\r
- <reference id="repositoryFactory" interface="javax.jcr.RepositoryFactory" />\r
- <reference id="fileSystemManager" interface="org.apache.commons.vfs2.FileSystemManager" />\r
-</beans:beans>
\ No newline at end of file
+++ /dev/null
-bin.includes = META-INF/
+++ /dev/null
-<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>lib</artifactId>
- <version>2.3-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.slc.lib.jcr</artifactId>
- <name>SLC Lib - JCR Utilities</name>
- <description>Utilities to transfer, convert, manage software repositories</description>
-</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.slc.lib.repo</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-/MANIFEST.MF
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns:flow="http://www.argeo.org/schema/slc-flow" xmlns="http://www.springframework.org/schema/beans"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"\r
- xsi:schemaLocation="\r
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
- http://www.argeo.org/schema/slc-flow http://www.argeo.org/schema/slc-flow-1.2.xsd">\r
-\r
- <!-- Hello world -->\r
- <flow:flow name="hello">\r
- <description>Print Hello World!</description>\r
- <bean p:message="Hello World!" class="org.argeo.slc.core.execution.tasks.Echo" />\r
- </flow:flow>\r
-\r
-\r
- <flow:flow name="hello-with-var">\r
- <description>Print Hello World! with variable</description>\r
- <flow:spec>\r
- <flow:primitive name="testKey" value="777" />\r
- </flow:spec>\r
- <bean p:message="Hello World! @{testKey}" class="org.argeo.slc.core.execution.tasks.Echo">\r
- <flow:variable proxy-target-class="false" />\r
- </bean>\r
- </flow:flow>\r
-\r
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns:flow="http://www.argeo.org/schema/slc-flow" xmlns="http://www.springframework.org/schema/beans"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"\r
- xsi:schemaLocation="\r
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
- http://www.argeo.org/schema/slc-flow http://www.argeo.org/schema/slc-flow-1.2.xsd">\r
-\r
- <!-- Import a zip to a local repository -->\r
- <flow:flow name="importZip">\r
- <flow:spec>\r
- <flow:primitive name="workspace" value="org.argeo.tp-2.1.x" />\r
- <flow:primitive name="groupId" value="org.argeo.tp" />\r
- <flow:primitive name="zipFile" value="File:///home/user/dev/libs/extLibrary-1.3.8.zip" />\r
- </flow:spec>\r
- <bean class="org.argeo.slc.repo.osgi.ImportBundlesZip">\r
- <flow:variable proxy-target-class="false" />\r
- <property name="workspace" value="@{workspace}" />\r
- <property name="groupId" value="@{groupId}" />\r
- <property name="zipFile" value="@{zipFile}" />\r
- <property name="repository" ref="javaRepository" />\r
- </bean>\r
- </flow:flow>\r
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"\r
- xsi:schemaLocation="http://www.springframework.org/schema/osgi \r
- http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd\r
- http://www.springframework.org/schema/beans \r
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
-\r
- <!-- IMPORTS -->\r
- <beans:import resource="classpath:org/argeo/slc/core/execution/spring.xml" />\r
- <beans:import resource="classpath:org/argeo/slc/osgi/execution.xml" />\r
-\r
- <!-- REFERENCES -->\r
- <reference id="repositoryFactory" interface="javax.jcr.RepositoryFactory" />\r
- <!-- TODO inject this in a cleaner way -->\r
- <reference id="javaRepository" interface="javax.jcr.Repository"\r
- filter="(cn=java)" />\r
-</beans:beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns:flow="http://www.argeo.org/schema/slc-flow" xmlns="http://www.springframework.org/schema/beans"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"\r
- xsi:schemaLocation="\r
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
- http://www.argeo.org/schema/slc-flow http://www.argeo.org/schema/slc-flow-1.2.xsd">\r
-\r
- <!-- Sync from to repository -->\r
- <flow:flow name="sync">\r
- <flow:spec>\r
- <flow:primitive name="sourceRepoUri"\r
- value="http://repo.argeo.org/data/pub/java" />\r
- <flow:primitive name="sourceWksp" value="" />\r
- <flow:primitive name="sourceUsername" value="${user.name}" />\r
- <flow:primitive name="sourcePassword" type="password"\r
- value="" />\r
- <flow:primitive name="targetUsername" value="${user.name}" />\r
- <flow:primitive name="targetPassword" type="password"\r
- value="" />\r
- <flow:primitive name="targetRepoUri" value="vm:///java/" />\r
- </flow:spec>\r
- <bean class="org.argeo.slc.repo.RepoSync">\r
- <flow:variable proxy-target-class="false" />\r
- <property name="sourceRepoUri" value="@{sourceRepo}" />\r
- <property name="sourceWksp" value="@{sourceWksp}" />\r
- <property name="sourceUsername" value="@{sourceUsername}" />\r
- <property name="sourcePassword" value="@{sourcePassword}" />\r
- <property name="targetUsername" value="@{targetUsername}" />\r
- <property name="targetPassword" value="@{targetPassword}" />\r
- <property name="targetRepoUri" value="@{targetRepo}" />\r
- <property name="repositoryFactory" ref="repositoryFactory" />\r
- </bean>\r
- </flow:flow>\r
-\r
-</beans>
\ No newline at end of file
+++ /dev/null
-bin.includes = META-INF/
+++ /dev/null
-<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>lib</artifactId>
- <version>2.3-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.slc.lib.repo</artifactId>
- <name>SLC Lib - Repository Utilities</name>
- <description>Utilities related to JCR repositories</description>
-</project>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.argeo.slc.lib.rpmfactory</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
+++ /dev/null
-/MANIFEST.MF
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns:flow="http://www.argeo.org/schema/slc-flow" xmlns="http://www.springframework.org/schema/beans"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"\r
- xsi:schemaLocation="\r
- http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd\r
- http://www.argeo.org/schema/slc-flow http://www.argeo.org/schema/slc-flow-1.2.xsd">\r
-\r
- <!-- Hello world -->\r
- <flow:flow name="hello">\r
- <description>Print Hello World!</description>\r
- <bean p:message="Hello World!" class="org.argeo.slc.core.execution.tasks.Echo" />\r
- </flow:flow>\r
-\r
-\r
- <flow:flow name="hello-with-var">\r
- <description>Print Hello World! with variable</description>\r
- <flow:spec>\r
- <flow:primitive name="testKey" value="777" />\r
- </flow:spec>\r
- <bean p:message="Hello World! @{testKey}" class="org.argeo.slc.core.execution.tasks.Echo">\r
- <flow:variable proxy-target-class="false" />\r
- </bean>\r
- </flow:flow>\r
-\r
-</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans:beans xmlns="http://www.springframework.org/schema/osgi"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"\r
- xsi:schemaLocation="http://www.springframework.org/schema/osgi \r
- http://www.springframework.org/schema/osgi/spring-osgi-1.1.xsd\r
- http://www.springframework.org/schema/beans \r
- http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
-\r
- <!-- IMPORTS -->\r
- <beans:import resource="classpath:org/argeo/slc/core/execution/spring.xml" />\r
- <beans:import resource="classpath:org/argeo/slc/osgi/execution.xml" />\r
-\r
- <!-- REFERENCES -->\r
- <reference id="repositoryFactory" interface="javax.jcr.RepositoryFactory" />\r
-</beans:beans>
\ No newline at end of file
+++ /dev/null
-bin.includes = META-INF/
+++ /dev/null
-<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>lib</artifactId>
- <version>2.3-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>org.argeo.slc.lib.rpmfactory</artifactId>
- <name>SLC Lib - RPM Factory Utilities</name>
- <description>Utilities related to RPM Factory</description>
-</project>
<packaging>pom</packaging>
<name>SLC Standard Libs</name>
<description>SLC execution modules for generic tasks, to be used as parent pom</description>
- <modules>
- <module>org.argeo.slc.lib.build</module>
- <module>org.argeo.slc.lib.jcr</module>
- <module>org.argeo.slc.lib.repo</module>
- <module>org.argeo.slc.lib.rpmfactory</module>
- </modules>
<properties>
<additionalImports.slc-lib>
com.jcraft.jsch;resolution:=optional,
</additionalImports.slc-lib>
</properties>
<build>
-<!-- <resources> -->
-<!-- <resource> -->
-<!-- <directory>.</directory> -->
-<!-- <includes> -->
-<!-- <include>**</include> -->
-<!-- </includes> -->
-<!-- <excludes> -->
-<!-- <exclude>.*</exclude> -->
-<!-- <exclude>.*/**</exclude> -->
-<!-- <exclude>pom.xml</exclude> -->
-<!-- <exclude>build.properties</exclude> -->
-<!-- </excludes> -->
-<!-- </resource> -->
-<!-- </resources> -->
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>