You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by st...@apache.org on 2012/12/28 14:14:30 UTC
svn commit: r1426498 - in /commons/sandbox/privilizer/trunk/ant/lib: ./
src/main/java/org/apache/commons/weaver/ant/
src/main/java/org/apache/commons/weaver/privilizer/
src/main/resources/org/apache/commons/privilizer/ant/
Author: struberg
Date: Fri Dec 28 13:14:30 2012
New Revision: 1426498
URL: http://svn.apache.org/viewvc?rev=1426498&view=rev
Log:
move ant task to WeaveProcessor
Added:
commons/sandbox/privilizer/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/
commons/sandbox/privilizer/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaveTask.java (with props)
Removed:
commons/sandbox/privilizer/trunk/ant/lib/src/main/java/org/apache/commons/weaver/privilizer/
Modified:
commons/sandbox/privilizer/trunk/ant/lib/pom.xml
commons/sandbox/privilizer/trunk/ant/lib/src/main/resources/org/apache/commons/privilizer/ant/antlib.xml
Modified: commons/sandbox/privilizer/trunk/ant/lib/pom.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/privilizer/trunk/ant/lib/pom.xml?rev=1426498&r1=1426497&r2=1426498&view=diff
==============================================================================
--- commons/sandbox/privilizer/trunk/ant/lib/pom.xml (original)
+++ commons/sandbox/privilizer/trunk/ant/lib/pom.xml Fri Dec 28 13:14:30 2012
@@ -41,16 +41,16 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.1</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<version>1.8.4</version>
<scope>provided</scope>
</dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.2</version><!--$NO-MVN-MAN-VER$-->
- </dependency>
</dependencies>
<build>
<plugins>
Added: commons/sandbox/privilizer/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaveTask.java
URL: http://svn.apache.org/viewvc/commons/sandbox/privilizer/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaveTask.java?rev=1426498&view=auto
==============================================================================
--- commons/sandbox/privilizer/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaveTask.java (added)
+++ commons/sandbox/privilizer/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaveTask.java Fri Dec 28 13:14:30 2012
@@ -0,0 +1,106 @@
+/*
+ * Copyright the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.commons.weaver.ant;
+
+import java.io.File;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.weaver.WeaveProcessor;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Task;
+import org.apache.tools.ant.types.Path;
+import org.apache.tools.ant.types.Reference;
+
+/**
+ * Privileged method weaving Ant task.
+ */
+public class WeaveTask extends Task {
+
+ private File target;
+ private Path classpath;
+ private String classpathref;
+ private Properties weaverConfig;
+
+
+ @Override
+ public void execute() throws BuildException {
+ try {
+ WeaveProcessor wp = WeaveProcessor.getInstance();
+ wp.configure(getClassPathEntries(), target, weaverConfig);
+ wp.weave();
+ } catch (Exception e) {
+ throw new BuildException(e);
+ }
+ }
+
+ protected File getTarget() {
+ return target;
+ }
+
+ public void setTarget(File target) {
+ this.target = target;
+ }
+
+ protected String getClasspathref() {
+ return classpathref;
+ }
+
+ public void setClasspathRef(String classpathref) {
+ this.classpathref = classpathref;
+ }
+
+ protected List<String> getClassPathEntries() {
+ final Path p = new Path(getProject());
+ final Path cp = getClasspath();
+ if (cp != null) {
+ p.add(cp);
+ }
+ p.add(Path.systemClasspath);
+
+ return Arrays.asList(p.list());
+ }
+
+ protected Path getClasspath() {
+ if (classpath == null) {
+ if (getClasspathref() != null) {
+ Path ref = new Path(getProject());
+ ref.setRefid(new Reference(getProject(), getClasspathref()));
+ return ref;
+ }
+ } else if (StringUtils.isNotBlank(getClasspathref())) {
+ throw new BuildException("Only one of classpathref|classpath is permitted.");
+ }
+ return classpath;
+ }
+
+ public void setClasspath(Path classpath) {
+ if (this.classpath != null) {
+ throw new BuildException("classpath already set");
+ }
+ this.classpath = classpath;
+ }
+
+ public Properties getWeaverConfig() {
+ return weaverConfig;
+ }
+
+ public void setWeaverConfig(Properties weaverConfig) {
+ this.weaverConfig = weaverConfig;
+ }
+}
Propchange: commons/sandbox/privilizer/trunk/ant/lib/src/main/java/org/apache/commons/weaver/ant/WeaveTask.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: commons/sandbox/privilizer/trunk/ant/lib/src/main/resources/org/apache/commons/privilizer/ant/antlib.xml
URL: http://svn.apache.org/viewvc/commons/sandbox/privilizer/trunk/ant/lib/src/main/resources/org/apache/commons/privilizer/ant/antlib.xml?rev=1426498&r1=1426497&r2=1426498&view=diff
==============================================================================
--- commons/sandbox/privilizer/trunk/ant/lib/src/main/resources/org/apache/commons/privilizer/ant/antlib.xml (original)
+++ commons/sandbox/privilizer/trunk/ant/lib/src/main/resources/org/apache/commons/privilizer/ant/antlib.xml Fri Dec 28 13:14:30 2012
@@ -17,6 +17,5 @@
-->
<antlib>
- <taskdef name="prepare" classname="org.apache.commons.weaver.privilizer.ant.PrepareTask" />
- <taskdef name="weave" classname="org.apache.commons.weaver.privilizer.ant.WeaveTask" />
+ <taskdef name="weave" classname="org.apache.commons.weaver.ant.WeaveTask" />
</antlib>