summaryrefslogtreecommitdiff
path: root/rules
diff options
context:
space:
mode:
authorLuke Shumaker <LukeShu@sbcglobal.net>2014-05-31 00:33:26 -0400
committerLuke Shumaker <LukeShu@sbcglobal.net>2014-05-31 00:33:26 -0400
commit719c44cf710cefaf55c69f64d131f4f90cf6727b (patch)
tree91d044f9ff27130acb4aaf72d473f044611a9285 /rules
parent6d6e142689863d933136b286c47130a2c10ec13d (diff)
Re-arrange the directories to keep everything for a package together
Diffstat (limited to 'rules')
-rw-r--r--rules/atinject-javax.inject-tck/Makefile37
-rw-r--r--rules/atinject-javax.inject-tck/delete.list1
-rw-r--r--rules/atinject-javax.inject/Makefile35
-rw-r--r--rules/atinject-javax.inject/delete.list1
-rw-r--r--rules/atinject-javax.inject/fix-pom-xmlns.patch8
-rw-r--r--rules/generic/Makefile94
-rw-r--r--rules/guava/Makefile2
-rw-r--r--rules/jsr305/Makefile25
-rw-r--r--rules/maven-plugin-api-bootstrap/no-generated-code.patch81
-rw-r--r--rules/maven-plugin-tools-api-bootstrap/no-maven-core.patch132
-rw-r--r--rules/plexus-cipher/no-javaee.patch19
-rw-r--r--rules/plexus-container-default/valid-java.patch22
-rw-r--r--rules/xbean-reflect/no-log4j.patch53
13 files changed, 510 insertions, 0 deletions
diff --git a/rules/atinject-javax.inject-tck/Makefile b/rules/atinject-javax.inject-tck/Makefile
new file mode 100644
index 0000000..b8ba8a8
--- /dev/null
+++ b/rules/atinject-javax.inject-tck/Makefile
@@ -0,0 +1,37 @@
+# DOESN'T WORK, incomplete
+syntax error
+
+DESTDIR ?=
+MAVEN_LOCAL_REPO ?= ~/.m2
+
+XMLSTARLET = xml
+RM = rm -f
+MKDIRS = mkdir -p
+INSTALL = install
+FIND = find
+SED = sed
+
+artifact := $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:artifactId -n pom.xml)
+version := $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:version -n pom.xml)
+group := $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:groupId -n pom.xml)
+
+all: PHONY build
+
+build: $(shell $(FIND) src tck)
+ $(SED) -e 's/VERSION=.*/VERSION=$(version)/' $(if $(CLASSPATH),-e 's|-classpath |-classpath $(CLASSPATH):|') build.sh | $(SHELL) || { $(RM) -r build; exit 1; }
+build/maven/%: build
+
+mvndir = $(DESTDIR)$(MAVEN_LOCAL_REPO)/$(subst .,/,$(group))/$(artifact)/$(version)
+
+install: PHONY build \
+ $(addprefix $(mvndir)/$(artifact)-$(version),.pom .jar -sources.jar -javadoc.jar)
+
+$(mvndir)/%: build/maven/%
+ $(INSTALL) -Dm644 $< $@
+$(mvndir)/$(artifact)-$(version).pom: build/maven/pom.xml
+ $(INSTALL) -Dm644 $< $@
+
+clean: PHONY
+ $(RM) -r build
+
+.PHONY: PHONY
diff --git a/rules/atinject-javax.inject-tck/delete.list b/rules/atinject-javax.inject-tck/delete.list
new file mode 100644
index 0000000..a65b417
--- /dev/null
+++ b/rules/atinject-javax.inject-tck/delete.list
@@ -0,0 +1 @@
+lib
diff --git a/rules/atinject-javax.inject/Makefile b/rules/atinject-javax.inject/Makefile
new file mode 100644
index 0000000..2ee9767
--- /dev/null
+++ b/rules/atinject-javax.inject/Makefile
@@ -0,0 +1,35 @@
+DESTDIR ?=
+MAVEN_LOCAL_REPO ?= ~/.m2
+
+XMLSTARLET = xml
+RM = rm -f
+MKDIRS = mkdir -p
+INSTALL = install
+FIND = find
+SED = sed
+
+artifact := $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:artifactId -n pom.xml)
+version := $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:version -n pom.xml)
+group := $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:groupId -n pom.xml)
+
+all: PHONY build
+
+build: $(shell $(FIND) src tck)
+ $(SED) -e 's/VERSION=.*/VERSION=$(version)/' -e /tck/d -e /junit/d build.sh | $(SHELL) || { $(RM) -r build; exit 1; }
+build/maven/%: build
+
+mvndir = $(DESTDIR)$(MAVEN_LOCAL_REPO)/$(subst .,/,$(group))/$(artifact)/$(version)
+
+install: PHONY build \
+ $(addprefix $(mvndir)/$(artifact)-$(version),.pom .jar -sources.jar -javadoc.jar)
+
+ $(addprefix $(mvndir)/$(artifact)-$(version),.jar -sources.jar -javadoc.jar): \
+$(mvndir)/%: build/maven/%
+ $(INSTALL) -Dm644 $< $@
+$(mvndir)/$(artifact)-$(version).pom: build/maven/pom.xml
+ $(INSTALL) -Dm644 $< $@
+
+clean: PHONY
+ $(RM) -r build
+
+.PHONY: PHONY
diff --git a/rules/atinject-javax.inject/delete.list b/rules/atinject-javax.inject/delete.list
new file mode 100644
index 0000000..a65b417
--- /dev/null
+++ b/rules/atinject-javax.inject/delete.list
@@ -0,0 +1 @@
+lib
diff --git a/rules/atinject-javax.inject/fix-pom-xmlns.patch b/rules/atinject-javax.inject/fix-pom-xmlns.patch
new file mode 100644
index 0000000..ec07205
--- /dev/null
+++ b/rules/atinject-javax.inject/fix-pom-xmlns.patch
@@ -0,0 +1,8 @@
+--- atinject-javax.inject.orig/pom.xml 2014-05-30 14:35:22.799128330 -0400
++++ atinject-javax.inject/pom.xml 2014-05-30 14:35:40.305446419 -0400
+@@ -1,4 +1,4 @@
+-<project>
++<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>
+ <groupId>javax.inject</groupId>
+ <artifactId>javax.inject</artifactId>
diff --git a/rules/generic/Makefile b/rules/generic/Makefile
new file mode 100644
index 0000000..4f4b73a
--- /dev/null
+++ b/rules/generic/Makefile
@@ -0,0 +1,94 @@
+#!/usr/bin/make -f
+
+# Install paths
+DESTDIR ?=
+MAVEN_LOCAL_REPO ?= ~/.m2
+
+# Utilities
+XMLSTARLET = xml
+FIND = find
+JAVAC = javac
+INSTALL = install
+MKDIRS = mkdir -p
+RM = rm -f
+JAR = jar
+
+# Detect information from POMs
+artifact := $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:artifactId -n pom.xml)
+version := $(firstword $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:version -n -c /_:project/_:parent/_:version pom.xml) $(version))
+group := $(firstword $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:groupId -n -c /_:project/_:parent/_:groupId pom.xml))
+srcdir := $(firstword $(shell $(XMLSTARLET) sel -T -t -c /_:project/_:build/_:sourceDirectory -n pom.xml) $(srcdir) src/main/java)
+subdirs := $(patsubst %/pom.xml,%,$(wildcard */pom.xml))
+subdir-deps ?=
+targets := pom $(if $(wildcard src/main/ $(srcdir)),jar)
+
+################################################################################
+
+dep_dir = $1 $(shell $(FIND) $1 2>/dev/null)
+dep_optdir = $(shell $(FIND) $1 2>/dev/null)
+
+# all
+
+all: PHONY \
+ $(addprefix target/$(artifact)-$(version).,$(targets)) \
+ $(addsuffix /all,$(subdirs))
+
+target/$(artifact)-$(version).pom: pom.xml
+ $(INSTALL) -Dm644 $< $@
+
+target/$(artifact)-$(version).jar: \
+ target/META-INF/maven/$(group)/$(artifact)/pom.properties \
+ target/META-INF/maven/$(group)/$(artifact)/pom.xml \
+ $(call dep_dir,target/classes) \
+ $(call dep_optdir,src/main/resources)
+ $(MKDIRS) $(@D)
+ $(JAR) -cf $@ -C target META-INF $$($(FIND) target/classes src/main/resources -type f -printf ' -C %H %P ')
+
+target/META-INF/maven/$(group)/$(artifact)/pom.xml: pom.xml
+ install -Dm644 $< $@
+
+target/META-INF/maven/$(group)/$(artifact)/pom.properties: pom.xml
+ $(MKDIRS) $(@D)
+ printf '%s\n' \
+ '#Generated by Make' \
+ "#$$(LC_ALL=C date)" \
+ 'version=$(version)' \
+ 'groupId=$(group)' \
+ 'artifactId=$(artifact)' \
+ > $@
+
+target/classes: $(call dep_optdir,$(srcdir))
+ $(MKDIRS) $@
+ $(if $^,$(FIND) $(srcdir) -name '*.java' -exec $(JAVAC) -d $@ {} + || { $(RM) -r $@; exit 1; })
+
+# install
+
+install: PHONY \
+ $(addprefix $(DESTDIR)$(MAVEN_LOCAL_REPO)/$(subst .,/,$(group))/$(artifact)/$(version)/$(artifact)-$(version).,$(targets)) \
+ $(addsuffix /install,$(subdirs))
+
+$(DESTDIR)$(MAVEN_LOCAL_REPO)/$(subst .,/,$(group))/$(artifact)/$(version)/%: target/%
+ $(INSTALL) -Dm644 $< $@
+
+# clean
+
+clean: PHONY $(addsuffix /clean,$(subdirs))
+ rm -rf target
+
+# recurse
+
+deps2jars = $(wildcard $(patsubst %/all,%/target/*.jar,$(filter $(addsuffix /all,$(subdirs)),$1)))
+deps2classpath = $(shell echo $(abspath $(call deps2jars,$1)) $(CLASSPATH) | tr ' ' :)
+
+define recurse-rule
+$1/%: PHONY
+ CLASSPATH='$$(call deps2classpath,$$^)' srcdir='$$(srcdir)' version='$$(version)' $$(MAKE) -C '$1' -f '$$(abspath $$(firstword $$(MAKEFILE_LIST)))' '$$*'
+endef
+$(foreach subdir,$(subdirs),$(eval $(call recurse-rule,$(subdir))))
+
+$(if $(subdir-deps),include $(subdir-deps))
+
+# boilerplate
+
+.PHONY: PHONY FORCE
+.DELETE_ON_ERROR:
diff --git a/rules/guava/Makefile b/rules/guava/Makefile
new file mode 100644
index 0000000..cb70ed9
--- /dev/null
+++ b/rules/guava/Makefile
@@ -0,0 +1,2 @@
+srcdir = src
+include $(dir $(lastword $(MAKEFILE_LIST)))/../generic/Makefile
diff --git a/rules/jsr305/Makefile b/rules/jsr305/Makefile
new file mode 100644
index 0000000..ca5b6d2
--- /dev/null
+++ b/rules/jsr305/Makefile
@@ -0,0 +1,25 @@
+DESTDIR ?=
+JAR_DIR ?= /usr/share/java
+
+ANT = ant
+RM = rm -f
+MKDIRS = mkdir -p
+INSTALL = install
+FIND = find
+
+all: PHONY build
+
+build: src $(shell $(FIND) src)
+ $(ANT) jars || { $(RM) -r build; exit 1; }
+build/%: build
+
+installdir = $(DESTDIR)$(JAR_DIR)/jsr305
+install: PHONY build $(addprefix $(installdir)/jsr305,.jar -pure.jar -src.jar)
+
+$(installdir)/%: build/%
+ $(INSTALL) -Dm644 $< $@
+
+clean: PHONY
+ $(RM) -r build
+
+.PHONY: PHONY
diff --git a/rules/maven-plugin-api-bootstrap/no-generated-code.patch b/rules/maven-plugin-api-bootstrap/no-generated-code.patch
new file mode 100644
index 0000000..8d97c08
--- /dev/null
+++ b/rules/maven-plugin-api-bootstrap/no-generated-code.patch
@@ -0,0 +1,81 @@
+diff -ru maven-plugin-api-bootstrap.orig/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java maven-plugin-api-bootstrap/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java
+--- maven-plugin-api-bootstrap.orig/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java 2014-02-14 12:34:53.000000000 -0500
++++ maven-plugin-api-bootstrap/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java 2014-05-30 17:11:56.686594113 -0400
+@@ -34,10 +34,6 @@
+
+ import org.apache.maven.artifact.Artifact;
+ import org.apache.maven.artifact.ArtifactUtils;
+-import org.apache.maven.model.Plugin;
+-import org.apache.maven.plugin.lifecycle.Lifecycle;
+-import org.apache.maven.plugin.lifecycle.LifecycleConfiguration;
+-import org.apache.maven.plugin.lifecycle.io.xpp3.LifecycleMappingsXpp3Reader;
+ import org.codehaus.plexus.classworlds.realm.ClassRealm;
+ import org.codehaus.plexus.component.repository.ComponentSetDescriptor;
+ import org.codehaus.plexus.util.IOUtil;
+@@ -81,12 +77,8 @@
+
+ private String requiredMavenVersion;
+
+- private Plugin plugin;
+-
+ private Artifact pluginArtifact;
+
+- private Map<String, Lifecycle> lifecycleMappings;
+-
+ // ----------------------------------------------------------------------
+ //
+ // ----------------------------------------------------------------------
+@@ -350,16 +342,6 @@
+ return requiredMavenVersion;
+ }
+
+- public void setPlugin( Plugin plugin )
+- {
+- this.plugin = plugin;
+- }
+-
+- public Plugin getPlugin()
+- {
+- return plugin;
+- }
+-
+ public Artifact getPluginArtifact()
+ {
+ return pluginArtifact;
+@@ -370,36 +352,6 @@
+ this.pluginArtifact = pluginArtifact;
+ }
+
+- public Lifecycle getLifecycleMapping( String lifecycleId )
+- throws IOException, XmlPullParserException
+- {
+- if ( lifecycleMappings == null )
+- {
+- LifecycleConfiguration lifecycleConfiguration;
+-
+- Reader reader = null;
+- try
+- {
+- reader = ReaderFactory.newXmlReader( getDescriptorStream( LIFECYCLE_DESCRIPTOR ) );
+-
+- lifecycleConfiguration = new LifecycleMappingsXpp3Reader().read( reader );
+- }
+- finally
+- {
+- IOUtil.close( reader );
+- }
+-
+- lifecycleMappings = new HashMap<String, Lifecycle>();
+-
+- for ( Lifecycle lifecycle : lifecycleConfiguration.getLifecycles() )
+- {
+- lifecycleMappings.put( lifecycle.getId(), lifecycle );
+- }
+- }
+-
+- return lifecycleMappings.get( lifecycleId );
+- }
+-
+ private InputStream getDescriptorStream( String descriptor )
+ throws IOException
+ {
diff --git a/rules/maven-plugin-tools-api-bootstrap/no-maven-core.patch b/rules/maven-plugin-tools-api-bootstrap/no-maven-core.patch
new file mode 100644
index 0000000..71c0785
--- /dev/null
+++ b/rules/maven-plugin-tools-api-bootstrap/no-maven-core.patch
@@ -0,0 +1,132 @@
+diff -ru maven-plugin-tools-api-bootstrap.orig/src/main/java/org/apache/maven/tools/plugin/DefaultPluginToolsRequest.java maven-plugin-tools-api-bootstrap/src/main/java/org/apache/maven/tools/plugin/DefaultPluginToolsRequest.java
+--- maven-plugin-tools-api-bootstrap.orig/src/main/java/org/apache/maven/tools/plugin/DefaultPluginToolsRequest.java 2014-05-30 18:58:10.244445086 -0400
++++ maven-plugin-tools-api-bootstrap/src/main/java/org/apache/maven/tools/plugin/DefaultPluginToolsRequest.java 2014-05-30 19:01:13.460785611 -0400
+@@ -23,7 +23,6 @@
+ import org.apache.maven.artifact.repository.ArtifactRepository;
+ import org.apache.maven.plugin.descriptor.MojoDescriptor;
+ import org.apache.maven.plugin.descriptor.PluginDescriptor;
+-import org.apache.maven.project.MavenProject;
+ import org.codehaus.plexus.util.ReaderFactory;
+ import org.codehaus.plexus.util.StringUtils;
+
+@@ -46,8 +45,6 @@
+
+ private PluginDescriptor pluginDescriptor;
+
+- private MavenProject project;
+-
+ private String encoding = DEFAULT_ENCODING;
+
+ private boolean skipErrorNoDescriptorsFound;
+@@ -58,12 +55,6 @@
+
+ private ArtifactRepository local;
+
+- public DefaultPluginToolsRequest( MavenProject project, PluginDescriptor pluginDescriptor )
+- {
+- this.project = project;
+- this.pluginDescriptor = pluginDescriptor;
+- }
+-
+ /**
+ * {@inheritDoc}
+ */
+@@ -81,23 +72,6 @@
+ return this;
+ }
+
+- /**
+- * {@inheritDoc}
+- */
+- public MavenProject getProject()
+- {
+- return project;
+- }
+-
+- /**
+- * {@inheritDoc}
+- */
+- public PluginToolsRequest setProject( MavenProject project )
+- {
+- this.project = project;
+- return this;
+- }
+-
+ /**
+ * {@inheritDoc}
+ */
+diff -ru maven-plugin-tools-api-bootstrap.orig/src/main/java/org/apache/maven/tools/plugin/extractor/AbstractScriptedMojoDescriptorExtractor.java maven-plugin-tools-api-bootstrap/src/main/java/org/apache/maven/tools/plugin/extractor/AbstractScriptedMojoDescriptorExtractor.java
+--- maven-plugin-tools-api-bootstrap.orig/src/main/java/org/apache/maven/tools/plugin/extractor/AbstractScriptedMojoDescriptorExtractor.java 2014-05-30 18:58:10.241111819 -0400
++++ maven-plugin-tools-api-bootstrap/src/main/java/org/apache/maven/tools/plugin/extractor/AbstractScriptedMojoDescriptorExtractor.java 2014-05-30 19:03:29.248082253 -0400
+@@ -29,7 +29,6 @@
+
+ import org.apache.maven.plugin.descriptor.InvalidPluginDescriptorException;
+ import org.apache.maven.plugin.descriptor.MojoDescriptor;
+-import org.apache.maven.project.MavenProject;
+ import org.apache.maven.tools.plugin.PluginToolsRequest;
+ import org.codehaus.plexus.logging.AbstractLogEnabled;
+ import org.codehaus.plexus.util.DirectoryScanner;
+@@ -48,34 +47,7 @@
+ public List<MojoDescriptor> execute( PluginToolsRequest request )
+ throws ExtractionException, InvalidPluginDescriptorException
+ {
+- getLogger().debug( "Running: " + getClass().getName() );
+- String metadataExtension = getMetadataFileExtension( request );
+- String scriptExtension = getScriptFileExtension( request );
+-
+- MavenProject project = request.getProject();
+-
+- @SuppressWarnings( "unchecked" )
+- Map<String, Set<File>> scriptFilesKeyedByBasedir =
+- gatherFilesByBasedir( project.getBasedir(), project.getScriptSourceRoots(), scriptExtension, request );
+-
+- List<MojoDescriptor> mojoDescriptors;
+- if ( !StringUtils.isEmpty( metadataExtension ) )
+- {
+- @SuppressWarnings( "unchecked" )
+- Map<String, Set<File>> metadataFilesKeyedByBasedir =
+- gatherFilesByBasedir( project.getBasedir(), project.getScriptSourceRoots(), metadataExtension,
+- request );
+-
+- mojoDescriptors = extractMojoDescriptorsFromMetadata( metadataFilesKeyedByBasedir, request );
+- }
+- else
+- {
+- mojoDescriptors = extractMojoDescriptors( scriptFilesKeyedByBasedir, request );
+- }
+-
+- copyScriptsToOutputDirectory( scriptFilesKeyedByBasedir, project.getBuild().getOutputDirectory(), request );
+-
+- return mojoDescriptors;
++ throw new RuntimeException("Not implemented");
+ }
+
+ /**
+diff -ru maven-plugin-tools-api-bootstrap.orig/src/main/java/org/apache/maven/tools/plugin/PluginToolsRequest.java maven-plugin-tools-api-bootstrap/src/main/java/org/apache/maven/tools/plugin/PluginToolsRequest.java
+--- maven-plugin-tools-api-bootstrap.orig/src/main/java/org/apache/maven/tools/plugin/PluginToolsRequest.java 2014-05-30 18:58:10.237778553 -0400
++++ maven-plugin-tools-api-bootstrap/src/main/java/org/apache/maven/tools/plugin/PluginToolsRequest.java 2014-05-30 19:00:29.474997263 -0400
+@@ -23,7 +23,6 @@
+ import org.apache.maven.artifact.repository.ArtifactRepository;
+ import org.apache.maven.plugin.descriptor.MojoDescriptor;
+ import org.apache.maven.plugin.descriptor.PluginDescriptor;
+-import org.apache.maven.project.MavenProject;
+
+ import java.util.List;
+ import java.util.Set;
+@@ -39,16 +38,6 @@
+ {
+
+ /**
+- * Return the current {@link MavenProject} instance in use.
+- */
+- MavenProject getProject();
+-
+- /**
+- * @see PluginToolsRequest#getProject()
+- */
+- PluginToolsRequest setProject( MavenProject project );
+-
+- /**
+ * Return the {@link PluginDescriptor} currently being populated as part of the build of the
+ * current plugin project.
+ */
diff --git a/rules/plexus-cipher/no-javaee.patch b/rules/plexus-cipher/no-javaee.patch
new file mode 100644
index 0000000..b0cb5fa
--- /dev/null
+++ b/rules/plexus-cipher/no-javaee.patch
@@ -0,0 +1,19 @@
+Binary files plexus-cipher.orig/.git/index and plexus-cipher/.git/index differ
+diff -ru plexus-cipher.orig/src/main/java/org/sonatype/plexus/components/cipher/DefaultPlexusCipher.java plexus-cipher/src/main/java/org/sonatype/plexus/components/cipher/DefaultPlexusCipher.java
+--- plexus-cipher.orig/src/main/java/org/sonatype/plexus/components/cipher/DefaultPlexusCipher.java 2014-05-29 03:30:38.180546653 -0400
++++ plexus-cipher/src/main/java/org/sonatype/plexus/components/cipher/DefaultPlexusCipher.java 2014-05-30 14:57:41.736224103 -0400
+@@ -20,14 +20,12 @@
+ import java.util.regex.Matcher;
+ import java.util.regex.Pattern;
+
+-import javax.enterprise.inject.Typed;
+ import javax.inject.Named;
+
+ /**
+ * @author Oleg Gusakov</a>
+ */
+ @Named( "default" )
+-@Typed( PlexusCipher.class )
+ public class DefaultPlexusCipher
+ implements PlexusCipher
+ {
diff --git a/rules/plexus-container-default/valid-java.patch b/rules/plexus-container-default/valid-java.patch
new file mode 100644
index 0000000..4a36d50
--- /dev/null
+++ b/rules/plexus-container-default/valid-java.patch
@@ -0,0 +1,22 @@
+diff -ru plexus-container-default/src/main/java/org/codehaus/plexus/component/repository/ComponentDescriptor.java plexus-container-default.new/src/main/java/org/codehaus/plexus/component/repository/ComponentDescriptor.java
+--- plexus-container-default/src/main/java/org/codehaus/plexus/component/repository/ComponentDescriptor.java 2014-05-30 01:00:58.623623624 -0400
++++ plexus-container-default.new/src/main/java/org/codehaus/plexus/component/repository/ComponentDescriptor.java 2014-05-30 02:42:32.547773587 -0400
+@@ -189,7 +189,7 @@
+ {
+ try
+ {
+- roleClass = getRealm().loadClass( getRole() );
++ roleClass = (Class<T>)getRealm().loadClass( getRole() );
+ Thread.currentThread();
+ }
+ catch ( Throwable ignored )
+@@ -299,7 +299,7 @@
+ {
+ try
+ {
+- implementationClass = getRealm().loadClass( getImplementation() );
++ implementationClass = (Class<? extends T>)getRealm().loadClass( getImplementation() );
+ Thread.currentThread();
+ }
+ catch ( Throwable ignored )
+Only in plexus-container-default.new/: target
diff --git a/rules/xbean-reflect/no-log4j.patch b/rules/xbean-reflect/no-log4j.patch
new file mode 100644
index 0000000..7b9285c
--- /dev/null
+++ b/rules/xbean-reflect/no-log4j.patch
@@ -0,0 +1,53 @@
+Index: xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/Log4jConverter.java
+===================================================================
+--- xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/Log4jConverter.java (revision 1598206)
++++ xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/Log4jConverter.java (working copy)
+@@ -1,32 +0,0 @@
+-/**
+- * Licensed to the Apache Software Foundation (ASF) under one or more
+- * contributor license agreements. See the NOTICE file distributed with
+- * this work for additional information regarding copyright ownership.
+- * The ASF licenses this file to You 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.xbean.propertyeditor;
+-
+-import org.apache.log4j.Logger;
+-
+-/**
+- * @version $Rev$ $Date$
+- */
+-public class Log4jConverter extends AbstractConverter {
+- public Log4jConverter() {
+- super(Logger.class);
+- }
+-
+- protected Object toObjectImpl(String text) {
+- return Logger.getLogger(text);
+- }
+-}
+Index: xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/PropertyEditors.java
+===================================================================
+--- xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/PropertyEditors.java (revision 1598206)
++++ xbean-reflect/src/main/java/org/apache/xbean/propertyeditor/PropertyEditors.java (working copy)
+@@ -120,11 +120,6 @@
+ registerConverter(new WeakHashMapEditor());
+
+ try {
+- registerConverter(new Log4jConverter());
+- } catch (Throwable e) {
+- }
+-
+- try {
+ registerConverter(new CommonsLoggingConverter());
+ } catch (Throwable e) {
+ }