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();
+ }
+}