commit e8e2862ada91e5acfe22312b5f1a5c36cdfdf078 Author: gu-gu-gu Date: Thu Feb 20 09:53:38 2020 +0800 init package diff --git a/org.eclipse.sisu.inject-0.3.3.tar.gz b/org.eclipse.sisu.inject-0.3.3.tar.gz new file mode 100644 index 0000000..70326a1 Binary files /dev/null and b/org.eclipse.sisu.inject-0.3.3.tar.gz differ diff --git a/org.eclipse.sisu.plexus-0.3.3.tar.gz b/org.eclipse.sisu.plexus-0.3.3.tar.gz new file mode 100644 index 0000000..08e07c8 Binary files /dev/null and b/org.eclipse.sisu.plexus-0.3.3.tar.gz differ diff --git a/sisu-OSGi-import-guava.patch b/sisu-OSGi-import-guava.patch new file mode 100644 index 0000000..8ab5759 --- /dev/null +++ b/sisu-OSGi-import-guava.patch @@ -0,0 +1,20 @@ +--- sisu-inject/org.eclipse.sisu.inject/META-INF/MANIFEST.MF~ 2014-04-21 16:32:25.000000000 +0200 ++++ sisu-inject/org.eclipse.sisu.inject/META-INF/MANIFEST.MF 2014-04-23 10:53:22.538142253 +0200 +@@ -16,6 +16,7 @@ + com.google.inject.matcher;version="1.3", + com.google.inject.name;version="1.3", + com.google.inject.spi;version="1.3", ++ com.google.common.base, + org.osgi.framework;version="1.5", + org.osgi.util.tracker;version="1.4", + org.slf4j;resolution:=optional, +--- sisu-inject/org.eclipse.sisu.inject/build.properties~ 2015-02-25 14:46:42.392037463 +0100 ++++ sisu-inject/org.eclipse.sisu.inject/build.properties 2015-02-25 14:44:56.626803789 +0100 +@@ -17,5 +17,5 @@ + . + + # build with JSR250 v1.2 and workaround indirect Guava dependency via Guice 4 +-extra.. = platform:/plugin/javax.annotation,platform:/plugin/com.google.guava +-additional.bundles = javax.annotation,com.google.guava ++extra.. = platform:/plugin/javax.annotation-api,platform:/plugin/com.google.guava ++additional.bundles = javax.annotation-api,com.google.guava diff --git a/sisu-ignored-tests.patch b/sisu-ignored-tests.patch new file mode 100644 index 0000000..484fa7d --- /dev/null +++ b/sisu-ignored-tests.patch @@ -0,0 +1,205 @@ +--- sisu-inject/org.eclipse.sisu.inject.tests/src/org/eclipse/sisu/inject/LocatedBeansTest.java~ 2014-09-12 08:32:32.899725268 +0200 ++++ sisu-inject/org.eclipse.sisu.inject.tests/src/org/eclipse/sisu/inject/LocatedBeansTest.java 2014-09-12 08:37:45.656099710 +0200 +@@ -128,30 +128,6 @@ + assertSame( a, itr2.next().getValue() ); + } + +- public void testUnrestrictedSearch() +- { +- final LocatedBeans beans = locate( Key.get( Bean.class ) ); +- final Iterator> itr = beans.iterator(); +- +- assertTrue( itr.hasNext() ); +- assertEquals( QualifyingStrategy.DEFAULT_QUALIFIER, itr.next().getKey() ); +- assertTrue( itr.hasNext() ); +- assertEquals( QualifyingStrategy.BLANK_QUALIFIER, itr.next().getKey() ); +- assertTrue( itr.hasNext() ); +- assertEquals( Names.named( "Named1" ), itr.next().getKey() ); +- assertTrue( itr.hasNext() ); +- assertEquals( Names.named( "Named2" ), itr.next().getKey() ); +- assertTrue( itr.hasNext() ); +- assertEquals( QualifyingStrategy.BLANK_QUALIFIER, itr.next().getKey() ); +- assertTrue( itr.hasNext() ); +- assertEquals( MarkedBeanImpl1.class.getAnnotation( Marked.class ), itr.next().getKey() ); +- assertTrue( itr.hasNext() ); +- assertEquals( Names.named( "Marked2" ), itr.next().getKey() ); +- assertTrue( itr.hasNext() ); +- assertEquals( Names.named( "Marked3" ), itr.next().getKey() ); +- assertFalse( itr.hasNext() ); +- } +- + public void testNamedSearch() + { + final LocatedBeans beans = locate( Key.get( Bean.class, Named.class ) ); +@@ -181,20 +156,6 @@ + assertFalse( itr.hasNext() ); + } + +- public void testMarkedSearch() +- { +- final LocatedBeans beans = locate( Key.get( Bean.class, Marked.class ) ); +- final Iterator> itr = beans.iterator(); +- +- assertTrue( itr.hasNext() ); +- assertEquals( MarkedBeanImpl1.class.getAnnotation( Marked.class ), itr.next().getKey() ); +- assertTrue( itr.hasNext() ); +- assertEquals( MarkedBeanImpl2.class.getAnnotation( Marked.class ), itr.next().getKey() ); +- assertTrue( itr.hasNext() ); +- assertEquals( MarkedBeanProvider.class.getAnnotation( Marked.class ), itr.next().getKey() ); +- assertFalse( itr.hasNext() ); +- } +- + public void testMarkedWithAttributesSearch() + { + final LocatedBeans beans = +--- sisu-plexus/org.eclipse.sisu.plexus.tests/src/org/eclipse/sisu/plexus/PlexusXmlScannerTest.java~ 2014-08-24 01:48:47.000000000 +0200 ++++ sisu-plexus/org.eclipse.sisu.plexus.tests/src/org/eclipse/sisu/plexus/PlexusXmlScannerTest.java 2015-02-04 07:06:49.696531924 +0100 +@@ -159,83 +159,6 @@ + new PlexusXmlScanner( null, plexusXml, null ).scan( space, true ); + } + +- @SuppressWarnings( "deprecation" ) +- public void testComponents() +- { +- final ClassSpace space = new URLClassSpace( PlexusXmlScannerTest.class.getClassLoader() ); +- +- final Map metadata = new HashMap(); +- final PlexusXmlScanner scanner = new PlexusXmlScanner( null, null, metadata ); +- +- final Map> componentMap = scanner.scan( space, true ); +- +- assertEquals( 6, componentMap.size() ); +- +- final Component component1 = +- new ComponentImpl( DefaultBean.class, Hints.DEFAULT_HINT, Strategies.PER_LOOKUP, "" ); +- assertEquals( DefaultBean.class, componentMap.get( component1 ).load() ); +- +- final Component component2 = new ComponentImpl( Bean.class, "debug", Strategies.SINGLETON, "For debugging" ); +- assertEquals( DebugBean.class, componentMap.get( component2 ).load() ); +- +- final Component component3 = new ComponentImpl( Bean.class, Hints.DEFAULT_HINT, Strategies.SINGLETON, "" ); +- assertEquals( AnotherBean.class, componentMap.get( component3 ).load() ); +- +- final Component component4 = new ComponentImpl( Bean.class, "clone", Strategies.SINGLETON, "" ); +- assertEquals( DefaultBean.class, componentMap.get( component4 ).load().getSuperclass() ); +- final Class proxy = CustomTestClassLoader.proxy( componentMap.get( component4 ).load() ); +- +- try +- { +- assertNotNull( proxy.getMethod( "TestMe" ) ); +- } +- catch ( final NoSuchMethodException e ) +- { +- fail( "Proxied class is missing 'TestMe' method" ); +- } +- +- final PlexusBeanMetadata metadata1 = metadata.get( DefaultBean.class.getName() ); +- +- assertFalse( metadata1.isEmpty() ); +- +- assertEquals( new ConfigurationImpl( "someFieldName", "PRIMARY" ), +- metadata1.getConfiguration( new NamedProperty( "someFieldName" ) ) ); +- +- assertEquals( new ConfigurationImpl( "simple", "value" ), +- metadata1.getConfiguration( new NamedProperty( "simple" ) ) ); +- +- assertEquals( new ConfigurationImpl( "value", "" ), +- metadata1.getConfiguration( new NamedProperty( "value" ) ) ); +- +- assertEquals( new ConfigurationImpl( "emptyValue1", "" ), +- metadata1.getConfiguration( new NamedProperty( "emptyValue1" ) ) ); +- +- assertEquals( new ConfigurationImpl( "emptyValue2", "" ), +- metadata1.getConfiguration( new NamedProperty( "emptyValue2" ) ) ); +- +- assertFalse( metadata1.isEmpty() ); +- +- assertEquals( new RequirementImpl( Bean.class, true, "debug" ), +- metadata1.getRequirement( new NamedProperty( "bean", TypeLiteral.get( Bean.class ) ) ) ); +- +- assertFalse( metadata1.isEmpty() ); +- +- metadata1.getConfiguration( new NamedProperty( "foo" ) ); +- +- assertEquals( new RequirementImpl( Bean.class, false, Hints.DEFAULT_HINT, "debug" ), +- metadata1.getRequirement( new NamedProperty( "beanMap" ) ) ); +- +- assertFalse( metadata1.isEmpty() ); +- +- assertEquals( new RequirementImpl( Bean.class, false ), +- metadata1.getRequirement( new NamedProperty( "beanField" ) ) ); +- +- assertTrue( metadata1.isEmpty() ); +- +- assertNotNull( metadata.get( AnotherBean.class.getName() ) ); +- assertNull( metadata.get( DebugBean.class.getName() ) ); +- } +- + static class FixedClassSpace + implements ClassSpace + { +@@ -392,64 +315,4 @@ + } + } + +- static final class CustomTestClassLoader +- extends ClassLoader +- { +- private static final String PROXY_MARKER = "$proxy"; +- +- CustomTestClassLoader( final ClassLoader parent ) +- { +- super( parent ); +- } +- +- static Class proxy( final Class clazz ) +- { +- try +- { +- return new CustomTestClassLoader( clazz.getClassLoader() ).loadClass( clazz.getName() + PROXY_MARKER ); +- } +- catch ( final ClassNotFoundException e ) +- { +- throw new TypeNotPresentException( clazz.getName(), e ); +- } +- } +- +- @Override +- protected synchronized Class loadClass( final String name, final boolean resolve ) +- throws ClassNotFoundException +- { +- return super.loadClass( name, resolve ); +- } +- +- @Override +- protected Class findClass( final String name ) +- throws ClassNotFoundException +- { +- final String proxyName = name.replace( '.', '/' ); +- final String superName = proxyName.substring( 0, proxyName.length() - PROXY_MARKER.length() ); +- +- final ClassWriter cw = new ClassWriter( ClassWriter.COMPUTE_MAXS ); +- cw.visit( Opcodes.V1_5, Modifier.PUBLIC | Modifier.FINAL, proxyName, null, superName, null ); +- MethodVisitor mv = cw.visitMethod( Modifier.PUBLIC, "", "()V", null, null ); +- +- mv.visitCode(); +- mv.visitVarInsn( Opcodes.ALOAD, 0 ); +- mv.visitMethodInsn( Opcodes.INVOKESPECIAL, superName, "", "()V", false ); +- mv.visitInsn( Opcodes.RETURN ); +- mv.visitMaxs( 0, 0 ); +- mv.visitEnd(); +- +- mv = cw.visitMethod( Modifier.PUBLIC, "TestMe", "()V", null, null ); +- +- mv.visitCode(); +- mv.visitInsn( Opcodes.RETURN ); +- mv.visitMaxs( 0, 0 ); +- mv.visitEnd(); +- cw.visitEnd(); +- +- final byte[] buf = cw.toByteArray(); +- +- return defineClass( name, buf, 0, buf.length ); +- } +- } + } diff --git a/sisu-inject.pom b/sisu-inject.pom new file mode 100644 index 0000000..798a515 --- /dev/null +++ b/sisu-inject.pom @@ -0,0 +1,72 @@ + + 4.0.0 + org.eclipse.sisu + org.eclipse.sisu.inject + @VERSION@ + + + com.google.inject + guice + no_aop + 4.0 + provided + + + javax.inject + javax.inject + 1 + provided + + + javax.enterprise + cdi-api + 1.1 + + + javax.annotation + javax.annotation-api + 1.2 + provided + + + com.google.inject.extensions + guice-servlet + 4.0 + provided + + + javax.servlet + servlet-api + 2.5 + provided + + + org.slf4j + slf4j-api + 1.7.13 + provided + + + org.osgi + osgi.core + 6.0.0 + provided + + + junit + junit + 4.12 + provided + + + org.testng + testng + 6.9.10 + provided + + + + org.eclipse.sisu.inject/src + + diff --git a/sisu-osgi-api.patch b/sisu-osgi-api.patch new file mode 100644 index 0000000..9250a6c --- /dev/null +++ b/sisu-osgi-api.patch @@ -0,0 +1,11 @@ +--- sisu-plexus/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PlexusBundlePlan.java~ 2015-09-13 20:15:37.000000000 +0200 ++++ sisu-plexus/org.eclipse.sisu.plexus/src/org/eclipse/sisu/plexus/PlexusBundlePlan.java 2017-01-29 19:56:51.608151337 +0100 +@@ -80,7 +80,7 @@ + + protected static boolean hasPlexusAnnotations( final Bundle bundle ) + { +- final String imports = bundle.getHeaders().get( Constants.IMPORT_PACKAGE ); ++ final String imports = bundle.getHeaders().get( Constants.IMPORT_PACKAGE ).toString(); + return null != imports && imports.contains( "org.codehaus.plexus.component.annotations" ); + } + diff --git a/sisu-parent.pom b/sisu-parent.pom new file mode 100644 index 0000000..99d4f50 --- /dev/null +++ b/sisu-parent.pom @@ -0,0 +1,12 @@ + + 4.0.0 + org.openEuler.maven + aggregator-project + @VERSION@ + pom + + sisu-inject + sisu-plexus + + diff --git a/sisu-plexus.pom b/sisu-plexus.pom new file mode 100644 index 0000000..32eee04 --- /dev/null +++ b/sisu-plexus.pom @@ -0,0 +1,67 @@ + + 4.0.0 + org.eclipse.sisu + org.eclipse.sisu.plexus + @VERSION@ + + + ${project.groupId} + org.eclipse.sisu.inject + ${project.version} + + + org.codehaus.plexus + plexus-classworlds + 2.5.2 + + + org.codehaus.plexus + plexus-component-annotations + 1.6 + + + org.codehaus.plexus + plexus-utils + 3.0.22 + + + com.google.inject + guice + no_aop + 4.0 + provided + + + org.slf4j + slf4j-api + 1.7.13 + provided + + + org.osgi + osgi.core + 6.0.0 + provided + + + junit + junit + 4.12 + provided + + + + org.eclipse.sisu.plexus/src + + + META-INF/plexus + false + ${basedir}/org.eclipse.sisu.plexus/META-INF/plexus + + components.xml + + + + + diff --git a/sisu.spec b/sisu.spec new file mode 100644 index 0000000..27d97da --- /dev/null +++ b/sisu.spec @@ -0,0 +1,76 @@ +Name: sisu +Epoch: 1 +Version: 0.3.3 +Release: 5 +Summary: Eclipse dependency injection framework +License: EPL +URL: https://eclipse.org/sisu +Source0: http://git.eclipse.org/c/sisu/org.eclipse.sisu.inject.git/snapshot/releases/%{version}.tar.gz#/org.eclipse.sisu.inject-%{version}.tar.gz +Source1: http://git.eclipse.org/c/sisu/org.eclipse.sisu.plexus.git/snapshot/releases/%{version}.tar.gz#/org.eclipse.sisu.plexus-%{version}.tar.gz +Source2: sisu-parent.pom +Source3: sisu-plexus.pom +Source4: sisu-inject.pom + +Patch001: sisu-OSGi-import-guava.patch +Patch002: sisu-ignored-tests.patch +Patch003: sisu-osgi-api.patch + +BuildArch: noarch +BuildRequires: maven-local guice-servlet google-guice glassfish-annotation-api testng +BuildRequires: cdi-api atinject glassfish-servlet-api junit plexus-classworlds slf4j +BuildRequires: plexus-containers-component-annotations plexus-utils osgi-core + +%description +Sisu is a modular JSR330-based container that supports classpath scanning, +auto-binding, and dynamic auto-wiring. Sisu uses Google-Guice to perform +dependency injection and provide the core JSR330 support, but removes the +need to write explicit bindings in Guice modules. Integration with other +containers via the Eclipse Extension Registry and the OSGi Service +Registry is a goal of this project. + +%package inject +Summary: inject package for sisu + +Provides: %{name}-plexus = %{epoch}:%{version}-%{release} +Obsoletes: %{name}-plexus < %{epoch}:%{version}-%{release} %{name}-tests < 1:0.3.2-5 +Provides: %{name}-javadoc = %{epoch}:%{version}-%{release} +Obsoletes: %{name}-javadoc < %{epoch}:%{version}-%{release} + +%description inject +inject package for sisu + +%prep +%setup -q -c -T +tar -zxf %{SOURCE0} && mv releases/* sisu-inject && rmdir releases +cp %{SOURCE4} sisu-inject/pom.xml +tar -zxf %{SOURCE1} && mv releases/* sisu-plexus && rmdir releases +cp %{SOURCE3} sisu-plexus/pom.xml +cp %{SOURCE2} pom.xml + +%patch001 +%patch002 +%patch003 + +%{_bindir}/python3 %{_datadir}/java-utils/pom_editor.py pom_xpath_set -r /pom:project/pom:version %{version} +%{_bindir}/python3 %{_datadir}/java-utils/mvn_file.py ':{*}' @1 +%{_bindir}/python3 %{_datadir}/java-utils/mvn_package.py ':*{inject,plexus}' @1 +%{_bindir}/python3 %{_datadir}/java-utils/mvn_package.py : __noinstall +%{_bindir}/python3 %{_datadir}/java-utils/mvn_alias.py :org.eclipse.sisu.plexus org.sonatype.sisu:sisu-inject-plexus + +%build +%mvn_build + +%install +%mvn_install + +%files inject +%defattr(-,root,root) +%license sisu-inject/LICENSE.txt +%{_datadir}/java/* +%{_datadir}/javadoc/* +%{_datadir}/maven-poms/* +%{_datadir}/maven-metadata/* + +%changelog +* Thu Dec 5 2019 openEuler Buildteam - 1:0.3.3-5 +- Package init