You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/02/13 17:29:23 UTC

svn commit: r1243592 - in /openejb/trunk/maven-plugins: ./ properties-maven-plugin/ properties-maven-plugin/src/ properties-maven-plugin/src/main/ properties-maven-plugin/src/main/java/ properties-maven-plugin/src/main/java/org/ properties-maven-plugin...

Author: rmannibucau
Date: Mon Feb 13 16:29:23 2012
New Revision: 1243592

URL: http://svn.apache.org/viewvc?rev=1243592&view=rev
Log:
adding properties-maven-plugin - for now it only manages proxies

Added:
    openejb/trunk/maven-plugins/properties-maven-plugin/
    openejb/trunk/maven-plugins/properties-maven-plugin/pom.xml
    openejb/trunk/maven-plugins/properties-maven-plugin/src/
    openejb/trunk/maven-plugins/properties-maven-plugin/src/main/
    openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/
    openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/
    openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/
    openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/
    openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/maven/
    openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/
    openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/properties/
    openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/properties/AbstractPropertiesPlugin.java
    openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/properties/ProxySettingsPropertiesMojo.java
    openejb/trunk/maven-plugins/properties-maven-plugin/src/test/
    openejb/trunk/maven-plugins/properties-maven-plugin/src/test/java/
Modified:
    openejb/trunk/maven-plugins/pom.xml

Modified: openejb/trunk/maven-plugins/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/maven-plugins/pom.xml?rev=1243592&r1=1243591&r2=1243592&view=diff
==============================================================================
--- openejb/trunk/maven-plugins/pom.xml (original)
+++ openejb/trunk/maven-plugins/pom.xml Mon Feb 13 16:29:23 2012
@@ -35,6 +35,7 @@
 
   <modules>
     <module>tomee-maven-plugin</module>
+    <module>properties-maven-plugin</module>
   </modules>
 
   <dependencyManagement>

Added: openejb/trunk/maven-plugins/properties-maven-plugin/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/maven-plugins/properties-maven-plugin/pom.xml?rev=1243592&view=auto
==============================================================================
--- openejb/trunk/maven-plugins/properties-maven-plugin/pom.xml (added)
+++ openejb/trunk/maven-plugins/properties-maven-plugin/pom.xml Mon Feb 13 16:29:23 2012
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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/xsd/maven-4.0.0.xsd">
+  <parent>
+    <artifactId>maven-plugins-parent</artifactId>
+    <groupId>org.apache.openejb</groupId>
+    <version>0.0.1-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+
+  <artifactId>properties-maven-plugin</artifactId>
+  <packaging>maven-plugin</packaging>
+  <name>OpenEJB Maven Plugins :: Properties Maven Plugin</name>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-project</artifactId>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.maven</groupId>
+        <artifactId>maven-core</artifactId>
+      <version>3.0.4</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-artifact</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.sonatype.aether</groupId>
+      <artifactId>aether-api</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.plugins</groupId>
+      <artifactId>maven-surefire-plugin</artifactId>
+      <version>2.9</version>
+    </dependency>
+  </dependencies>
+
+  <properties>
+    <maven-plugin.prefix>properties</maven-plugin.prefix>
+  </properties>
+</project>

Added: openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/properties/AbstractPropertiesPlugin.java
URL: http://svn.apache.org/viewvc/openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/properties/AbstractPropertiesPlugin.java?rev=1243592&view=auto
==============================================================================
--- openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/properties/AbstractPropertiesPlugin.java (added)
+++ openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/properties/AbstractPropertiesPlugin.java Mon Feb 13 16:29:23 2012
@@ -0,0 +1,22 @@
+package org.apache.openejb.maven.plugins.properties;
+
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.plugin.AbstractMojo;
+
+public abstract class AbstractPropertiesPlugin extends AbstractMojo {
+    /**
+     * @parameter expression="${session}"
+     * @required
+     */
+    private MavenSession session;
+
+    protected void setProperty(final String key, final String value) {
+        session.getUserProperties().setProperty(key, value);
+    }
+
+    protected void setPropertyIfNotNull(final String key, final String value) {
+        if (value != null) {
+            setProperty(key, value);
+        }
+    }
+}

Added: openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/properties/ProxySettingsPropertiesMojo.java
URL: http://svn.apache.org/viewvc/openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/properties/ProxySettingsPropertiesMojo.java?rev=1243592&view=auto
==============================================================================
--- openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/properties/ProxySettingsPropertiesMojo.java (added)
+++ openejb/trunk/maven-plugins/properties-maven-plugin/src/main/java/org/apache/openejb/maven/plugins/properties/ProxySettingsPropertiesMojo.java Mon Feb 13 16:29:23 2012
@@ -0,0 +1,64 @@
+package org.apache.openejb.maven.plugins.properties;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.settings.Proxy;
+import org.apache.maven.settings.Settings;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+/**
+ * @goal copy-settings-proxy
+ */
+public class ProxySettingsPropertiesMojo extends AbstractPropertiesPlugin {
+    /**
+     * @parameter expression="${settings}"
+     * @required
+     * @readonly
+     */
+    private Settings settings;
+
+
+    @Override
+    public void execute() throws MojoExecutionException, MojoFailureException {
+        final Collection<String> alreadySetProtocols = new ArrayList<String>();
+        for (Proxy proxy : settings.getProxies()) {
+            if (alreadySetProtocols.contains(proxy.getProtocol())) {
+                getLog().info("ignoring proxy " + toString(proxy) + " because another one is already set for this protocol");
+                continue;
+            }
+
+            if (proxy.isActive()) {
+                setProxy(proxy);
+                alreadySetProtocols.add(proxy.getProtocol());
+            }
+        }
+    }
+
+    private void setProxy(final Proxy proxy) {
+        final String prefix;
+        if (proxy.getProtocol() == null) {
+            prefix = "";
+        } else {
+            prefix = proxy.getProtocol() + ".";
+        }
+
+        setPropertyIfNotNull(prefix + "proxyHost", proxy.getHost());
+        setPropertyIfNotNull(prefix + "proxyPort", Integer.toString(proxy.getPort()));
+        setPropertyIfNotNull(prefix + "proxyPassword", proxy.getPassword());
+        setPropertyIfNotNull(prefix + "proxyUser", proxy.getUsername());
+        setPropertyIfNotNull(prefix + "nonProxyHosts", proxy.getNonProxyHosts());
+
+        getLog().info("set proxy " + toString(proxy));
+    }
+
+    private String toString(final Proxy proxy) {
+        return new StringBuilder(proxy.getId())
+                .append("[")
+                .append(proxy.getProtocol()).append("://")
+                .append(proxy.getHost()).append(":").append(proxy.getPort())
+                .append("]")
+                .toString();
+    }
+}