Author: rotty3000 Date: Wed Dec 19 22:29:51 2018 New Revision: 1849343 URL: http://svn.apache.org/viewvc?rev=1849343&view=rev Log: FELIX-5970 Add requirement & capabilities model so gogo can be resolved
Signed-off-by: Raymond Auge <[email protected]> Added: felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/package-info.java felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/package-info.java felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/package-info.java felix/trunk/gogo/runtime/src/main/java/org/apache/felix/service/command/annotation/ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/service/command/annotation/RequireGogo.java felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/package-info.java Modified: felix/trunk/gogo/command/pom.xml felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Activator.java felix/trunk/gogo/gogo-parent/pom.xml felix/trunk/gogo/jline/pom.xml felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Activator.java felix/trunk/gogo/pom.xml felix/trunk/gogo/runtime/pom.xml felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/threadio/ThreadIOImpl.java felix/trunk/gogo/shell/pom.xml felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java felix/trunk/gogo/shell/src/main/resources/gosh_profile Modified: felix/trunk/gogo/command/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/gogo/command/pom.xml?rev=1849343&r1=1849342&r2=1849343&view=diff ============================================================================== --- felix/trunk/gogo/command/pom.xml (original) +++ felix/trunk/gogo/command/pom.xml Wed Dec 19 22:29:51 2018 @@ -23,7 +23,7 @@ <parent> <groupId>org.apache.felix</groupId> <artifactId>gogo-parent</artifactId> - <version>4</version> + <version>5-SNAPSHOT</version> <relativePath>../gogo-parent/pom.xml</relativePath> </parent> @@ -39,13 +39,15 @@ <dependencies> <dependency> <groupId>org.osgi</groupId> - <artifactId>osgi.core</artifactId> - <scope>provided</scope> + <artifactId>org.osgi.service.log</artifactId> </dependency> <dependency> <groupId>org.osgi</groupId> - <artifactId>osgi.cmpn</artifactId> - <scope>provided</scope> + <artifactId>osgi.annotation</artifactId> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>osgi.core</artifactId> </dependency> <dependency> <groupId>org.apache.felix</groupId> @@ -55,12 +57,10 @@ <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <scope>test</scope> </dependency> </dependencies> @@ -69,21 +69,15 @@ <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> - <extensions>true</extensions> <configuration> <instructions> - <Bundle-SymbolicName>${artifactId}</Bundle-SymbolicName> - <Private-Package>${pom.artifactId}</Private-Package> - <Bundle-Activator>${pom.artifactId}.Activator</Bundle-Activator> - <Import-Package>!org.osgi.service.log, + <Import-Package> + !org.osgi.service.log, org.apache.felix.service.command, - org.osgi.framework; version="[1.5,2.0)", - org.osgi.framework.wiring; resolution:=optional, * + * </Import-Package> - <Include-Resource> - {maven-resources},META-INF/LICENSE=LICENSE,META-INF/NOTICE=NOTICE,META-INF/DEPENDENCIES=DEPENDENCIES - </Include-Resource> - <DynamicImport-Package>org.apache.felix.bundlerepository, org.apache.felix.bundlerepository.*, org.osgi.service.log + <DynamicImport-Package> + org.osgi.service.log </DynamicImport-Package> </instructions> </configuration> Modified: felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Activator.java URL: http://svn.apache.org/viewvc/felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Activator.java?rev=1849343&r1=1849342&r2=1849343&view=diff ============================================================================== --- felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Activator.java (original) +++ felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/Activator.java Wed Dec 19 22:29:51 2018 @@ -19,9 +19,13 @@ package org.apache.felix.gogo.command; import java.util.Hashtable; + +import org.osgi.annotation.bundle.Header; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; +import org.osgi.framework.Constants; +@Header(name = Constants.BUNDLE_ACTIVATOR, value = "${@class}") public class Activator implements BundleActivator { public void start(BundleContext bc) { Added: felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/package-info.java URL: http://svn.apache.org/viewvc/felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/package-info.java?rev=1849343&view=auto ============================================================================== --- felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/package-info.java (added) +++ felix/trunk/gogo/command/src/main/java/org/apache/felix/gogo/command/package-info.java Wed Dec 19 22:29:51 2018 @@ -0,0 +1,30 @@ +/* + * 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. + */ + [email protected]( + namespace = "org.apache.felix.gogo", + name = "command.implementation" +) [email protected]( + effective = "active", + namespace = "org.apache.felix.gogo", + name = "runtime.implementation" +) +package org.apache.felix.gogo.command; + Modified: felix/trunk/gogo/gogo-parent/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/gogo/gogo-parent/pom.xml?rev=1849343&r1=1849342&r2=1849343&view=diff ============================================================================== --- felix/trunk/gogo/gogo-parent/pom.xml (original) +++ felix/trunk/gogo/gogo-parent/pom.xml Wed Dec 19 22:29:51 2018 @@ -22,6 +22,7 @@ <groupId>org.apache.felix</groupId> <artifactId>felix-parent</artifactId> <version>5</version> + <relativePath>../pom/pom.xml</relativePath> </parent> <modelVersion>4.0.0</modelVersion> <packaging>pom</packaging> @@ -40,13 +41,31 @@ <dependencies> <dependency> <groupId>org.osgi</groupId> - <artifactId>osgi.core</artifactId> - <version>6.0.0</version> + <artifactId>org.osgi.namespace.service</artifactId> + <version>1.0.0</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.service.event</artifactId> + <version>1.3.1</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.service.log</artifactId> + <version>1.3.0</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>osgi.annotation</artifactId> + <version>7.0.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> - <artifactId>osgi.cmpn</artifactId> + <artifactId>osgi.core</artifactId> <version>6.0.0</version> <scope>provided</scope> </dependency> @@ -74,6 +93,7 @@ <properties> <animal.sniffer.skip>true</animal.sniffer.skip> <felix.java.version>8</felix.java.version> + <bnd.version>4.1.0</bnd.version> </properties> <build> @@ -82,11 +102,20 @@ <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> - <version>3.5.0</version> + <version>4.1.0</version> <extensions>true</extensions> + <configuration> + <obrRepository>NONE</obrRepository> + <instructions> + <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> + <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor> + <Include-Resource>{maven-resources},META-INF/LICENSE=LICENSE,META-INF/NOTICE=NOTICE,META-INF/DEPENDENCIES=DEPENDENCIES</Include-Resource> + <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> + <_removeheaders>Private-Package,Ignore-Package,Include-Resource</_removeheaders> + </instructions> + </configuration> </plugin> </plugins> </pluginManagement> </build> - </project> Modified: felix/trunk/gogo/jline/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/pom.xml?rev=1849343&r1=1849342&r2=1849343&view=diff ============================================================================== --- felix/trunk/gogo/jline/pom.xml (original) +++ felix/trunk/gogo/jline/pom.xml Wed Dec 19 22:29:51 2018 @@ -20,7 +20,7 @@ <parent> <groupId>org.apache.felix</groupId> <artifactId>gogo-parent</artifactId> - <version>4</version> + <version>5-SNAPSHOT</version> <relativePath>../gogo-parent/pom.xml</relativePath> </parent> <modelVersion>4.0.0</modelVersion> @@ -36,13 +36,11 @@ <dependencies> <dependency> <groupId>org.osgi</groupId> - <artifactId>osgi.core</artifactId> - <scope>provided</scope> + <artifactId>osgi.annotation</artifactId> </dependency> <dependency> <groupId>org.osgi</groupId> - <artifactId>osgi.cmpn</artifactId> - <scope>provided</scope> + <artifactId>osgi.core</artifactId> </dependency> <dependency> <groupId>org.apache.felix</groupId> @@ -64,12 +62,10 @@ <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <scope>test</scope> </dependency> </dependencies> <build> @@ -77,7 +73,6 @@ <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> - <extensions>true</extensions> <configuration> <instructions> <Export-Package> @@ -85,16 +80,9 @@ </Export-Package> <Import-Package> !org.apache.felix.gogo.runtime.threadio, - org.apache.felix.service.*;version="[1.0,2.0)", org.jline*;version="[3.0,4)", * </Import-Package> - <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> - <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor> - <Bundle-Activator>org.apache.felix.gogo.jline.Activator</Bundle-Activator> - <Include-Resource>{maven-resources},META-INF/LICENSE=LICENSE,META-INF/NOTICE=NOTICE,META-INF/DEPENDENCIES=DEPENDENCIES</Include-Resource> - <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> - <_removeheaders>Private-Package,Ignore-Package,Include-Resource</_removeheaders> </instructions> </configuration> </plugin> Modified: felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Activator.java URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Activator.java?rev=1849343&r1=1849342&r2=1849343&view=diff ============================================================================== --- felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Activator.java (original) +++ felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Activator.java Wed Dec 19 22:29:51 2018 @@ -37,10 +37,13 @@ import org.apache.felix.service.command. import org.apache.felix.service.command.Converter; import org.jline.terminal.Terminal; import org.jline.terminal.TerminalBuilder; +import org.osgi.annotation.bundle.Header; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; +import org.osgi.framework.Constants; import org.osgi.framework.ServiceRegistration; +@Header(name = Constants.BUNDLE_ACTIVATOR, value = "${@class}") public class Activator implements BundleActivator, SingleServiceListener { private final Set<ServiceRegistration<?>> regs = new HashSet<>(); private BundleContext context; Added: felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/package-info.java URL: http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/package-info.java?rev=1849343&view=auto ============================================================================== --- felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/package-info.java (added) +++ felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/package-info.java Wed Dec 19 22:29:51 2018 @@ -0,0 +1,32 @@ +/* + * 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. + */ + [email protected]( + attribute = "implementation.name=gogo.jline", + namespace = "org.apache.felix.gogo", + name = "shell.implementation" +) +@Requirement( + effective = "active", + namespace = "org.apache.felix.gogo", + name = "command.implementation" +) +package org.apache.felix.gogo.jline; + +import org.osgi.annotation.bundle.Requirement; Modified: felix/trunk/gogo/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/gogo/pom.xml?rev=1849343&r1=1849342&r2=1849343&view=diff ============================================================================== --- felix/trunk/gogo/pom.xml (original) +++ felix/trunk/gogo/pom.xml Wed Dec 19 22:29:51 2018 @@ -18,15 +18,12 @@ under the License. --> <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"> - <parent> - <groupId>org.apache.felix</groupId> - <artifactId>felix-parent</artifactId> - <version>5</version> - </parent> + <modelVersion>4.0.0</modelVersion> <packaging>pom</packaging> <name>Apache Felix Gogo</name> <description>Apache Felix Gogo Subproject</description> + <groupId>org.apache.felix</groupId> <artifactId>gogo-reactor</artifactId> <version>1.1.0-SNAPSHOT</version> @@ -37,7 +34,7 @@ </scm> <modules> - <module>gogo-parent</module> + <module>gogo-parent</module> <module>runtime</module> <module>jline</module> <module>shell</module> Modified: felix/trunk/gogo/runtime/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/pom.xml?rev=1849343&r1=1849342&r2=1849343&view=diff ============================================================================== --- felix/trunk/gogo/runtime/pom.xml (original) +++ felix/trunk/gogo/runtime/pom.xml Wed Dec 19 22:29:51 2018 @@ -20,7 +20,7 @@ <parent> <groupId>org.apache.felix</groupId> <artifactId>gogo-parent</artifactId> - <version>4</version> + <version>5-SNAPSHOT</version> <relativePath>../gogo-parent/pom.xml</relativePath> </parent> <modelVersion>4.0.0</modelVersion> @@ -36,23 +36,27 @@ <dependencies> <dependency> <groupId>org.osgi</groupId> - <artifactId>osgi.core</artifactId> - <scope>provided</scope> + <artifactId>org.osgi.namespace.service</artifactId> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>org.osgi.service.event</artifactId> </dependency> <dependency> <groupId>org.osgi</groupId> - <artifactId>osgi.cmpn</artifactId> - <scope>provided</scope> + <artifactId>osgi.annotation</artifactId> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>osgi.core</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> - <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> - <scope>test</scope> </dependency> </dependencies> <build> @@ -60,13 +64,8 @@ <plugin> <groupId>org.apache.felix</groupId> <artifactId>maven-bundle-plugin</artifactId> - <extensions>true</extensions> <configuration> <instructions> - <Provide-Capability> - osgi.service; effective:=active; objectClass="org.apache.felix.service.threadio.ThreadIO", - osgi.service; effective:=active; objectClass="org.apache.felix.service.command.CommandProcessor" - </Provide-Capability> <Export-Package> org.apache.felix.service.command; version=1.0.0, org.apache.felix.service.threadio; version=1.0.0, @@ -74,17 +73,8 @@ </Export-Package> <Import-Package> org.osgi.service.event*; resolution:=optional, - org.osgi.service.log*; resolution:=optional, - org.osgi.service.packageadmin*; resolution:=optional, - org.osgi.service.startlevel*; resolution:=optional, * </Import-Package> - <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName> - <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor> - <Bundle-Activator>org.apache.felix.gogo.runtime.activator.Activator</Bundle-Activator> - <Include-Resource>{maven-resources},META-INF/LICENSE=LICENSE,META-INF/NOTICE=NOTICE,META-INF/DEPENDENCIES=DEPENDENCIES</Include-Resource> - <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> - <_removeheaders>Private-Package,Ignore-Package,Include-Resource</_removeheaders> </instructions> </configuration> </plugin> Modified: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java?rev=1849343&r1=1849342&r2=1849343&view=diff ============================================================================== --- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java (original) +++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/CommandProcessorImpl.java Wed Dec 19 22:29:51 2018 @@ -36,7 +36,14 @@ import java.util.concurrent.CopyOnWriteA import org.apache.felix.service.command.*; import org.apache.felix.service.threadio.ThreadIO; +import org.osgi.annotation.bundle.Capability; +import org.osgi.namespace.service.ServiceNamespace; +@Capability( + namespace = ServiceNamespace.SERVICE_NAMESPACE, + attribute = "objectClass='org.apache.felix.service.command.CommandProcessor'", + effective = "active" +) public class CommandProcessorImpl implements CommandProcessor { protected final Set<Converter> converters = new CopyOnWriteArraySet<>(); Modified: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java?rev=1849343&r1=1849342&r2=1849343&view=diff ============================================================================== --- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java (original) +++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/activator/Activator.java Wed Dec 19 22:29:51 2018 @@ -32,6 +32,7 @@ import org.apache.felix.service.command. import org.apache.felix.service.command.CommandProcessor; import org.apache.felix.service.command.Converter; import org.apache.felix.service.threadio.ThreadIO; +import org.osgi.annotation.bundle.Header; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.osgi.framework.Constants; @@ -41,6 +42,7 @@ import org.osgi.framework.ServiceReferen import org.osgi.framework.ServiceRegistration; import org.osgi.util.tracker.ServiceTracker; +@Header(name = Constants.BUNDLE_ACTIVATOR, value = "${@class}") public class Activator implements BundleActivator { protected CommandProcessorImpl processor; Added: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/package-info.java URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/package-info.java?rev=1849343&view=auto ============================================================================== --- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/package-info.java (added) +++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/package-info.java Wed Dec 19 22:29:51 2018 @@ -0,0 +1,30 @@ +/* + * 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. + */ + [email protected]( + namespace = "org.apache.felix.gogo", + name = "runtime.implementation" +) [email protected]( + effective = "active", + namespace = "org.apache.felix.gogo", + name = "shell.implementation" +) +package org.apache.felix.gogo.runtime; + Modified: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/threadio/ThreadIOImpl.java URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/threadio/ThreadIOImpl.java?rev=1849343&r1=1849342&r2=1849343&view=diff ============================================================================== --- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/threadio/ThreadIOImpl.java (original) +++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/gogo/runtime/threadio/ThreadIOImpl.java Wed Dec 19 22:29:51 2018 @@ -24,7 +24,14 @@ import java.io.PrintStream; import java.util.logging.Logger; import org.apache.felix.service.threadio.ThreadIO; +import org.osgi.annotation.bundle.Capability; +import org.osgi.namespace.service.ServiceNamespace; +@Capability( + namespace = ServiceNamespace.SERVICE_NAMESPACE, + attribute = "objectClass='org.apache.felix.service.threadio.ThreadIO'", + effective = "active" +) public class ThreadIOImpl implements ThreadIO { static private final Logger log = Logger.getLogger(ThreadIOImpl.class.getName()); Added: felix/trunk/gogo/runtime/src/main/java/org/apache/felix/service/command/annotation/RequireGogo.java URL: http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/apache/felix/service/command/annotation/RequireGogo.java?rev=1849343&view=auto ============================================================================== --- felix/trunk/gogo/runtime/src/main/java/org/apache/felix/service/command/annotation/RequireGogo.java (added) +++ felix/trunk/gogo/runtime/src/main/java/org/apache/felix/service/command/annotation/RequireGogo.java Wed Dec 19 22:29:51 2018 @@ -0,0 +1,48 @@ +/* + * 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.felix.service.command.annotation; + +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import org.osgi.annotation.bundle.Attribute; +import org.osgi.annotation.bundle.Requirement; + +import static java.lang.annotation.RetentionPolicy.CLASS; + +import java.lang.annotation.Documented; + +import static java.lang.annotation.ElementType.*; + +@Documented +@Retention(CLASS) +@Target({TYPE, PACKAGE}) +@Requirement( + effective = "active", + namespace = "org.apache.felix.gogo", + name = "shell.implementation" +) +public @interface RequireGogo { + String JLINE = "gogo.jline"; + String SHELL = "gogo.shell"; + + @Attribute("implementation.name") + String value() default SHELL; +} Modified: felix/trunk/gogo/shell/pom.xml URL: http://svn.apache.org/viewvc/felix/trunk/gogo/shell/pom.xml?rev=1849343&r1=1849342&r2=1849343&view=diff ============================================================================== --- felix/trunk/gogo/shell/pom.xml (original) +++ felix/trunk/gogo/shell/pom.xml Wed Dec 19 22:29:51 2018 @@ -1,101 +1,80 @@ -<!-- 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. --> +<!-- 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. --> <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"> - <parent> - <groupId>org.apache.felix</groupId> - <artifactId>gogo-parent</artifactId> - <version>4</version> - <relativePath>../gogo-parent/pom.xml</relativePath> - </parent> - <modelVersion>4.0.0</modelVersion> - <packaging>bundle</packaging> - <name>Apache Felix Gogo Shell</name> - <artifactId>org.apache.felix.gogo.shell</artifactId> - <version>1.1.1-SNAPSHOT</version> + <parent> + <groupId>org.apache.felix</groupId> + <artifactId>gogo-parent</artifactId> + <version>5-SNAPSHOT</version> + <relativePath>../gogo-parent/pom.xml</relativePath> + </parent> + <modelVersion>4.0.0</modelVersion> + <packaging>bundle</packaging> + <name>Apache Felix Gogo Shell</name> + <artifactId>org.apache.felix.gogo.shell</artifactId> + <version>1.1.1-SNAPSHOT</version> <scm> <connection>scm:svn:http://svn.apache.org/repos/asf/felix/trunk/gogo/shell</connection> <developerConnection>scm:svn:https://svn.apache.org/repos/asf/felix/trunk/gogo/shell</developerConnection> <url>http://svn.apache.org/repos/asf/felix/gogo/shell</url> </scm> - <dependencies> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>osgi.core</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.osgi</groupId> - <artifactId>osgi.cmpn</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>org.apache.felix</groupId> - <artifactId>org.apache.felix.gogo.runtime</artifactId> - <version>1.1.1-SNAPSHOT</version> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.mockito</groupId> - <artifactId>mockito-core</artifactId> - <scope>test</scope> - </dependency> - </dependencies> - <build> - <plugins> - <plugin> - <groupId>org.apache.felix</groupId> - <artifactId>maven-bundle-plugin</artifactId> - <extensions>true</extensions> - <configuration> - <instructions> - <Export-Package> - </Export-Package> - <Import-Package> - org.apache.felix.service.command, - * - </Import-Package> - <Private-Package> - org.apache.felix.gogo.shell, - org.apache.felix.gogo.options - </Private-Package> - <Bundle-SymbolicName>${pom.artifactId}</Bundle-SymbolicName> - <Bundle-Vendor>The Apache Software Foundation</Bundle-Vendor> - <Bundle-Activator>org.apache.felix.gogo.shell.Activator</Bundle-Activator> - <Include-Resource>{maven-resources},META-INF/LICENSE=LICENSE,META-INF/NOTICE=NOTICE,META-INF/DEPENDENCIES=DEPENDENCIES</Include-Resource> - <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy> - <_removeheaders>Private-Package,Ignore-Package,Include-Resource</_removeheaders> - </instructions> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.rat</groupId> - <artifactId>apache-rat-plugin</artifactId> - <configuration> - <excludeSubProjects>false</excludeSubProjects> - <useEclipseDefaultExcludes>true</useEclipseDefaultExcludes> - <useMavenDefaultExcludes>true</useMavenDefaultExcludes> - <excludes> - <param>doc/*</param> - <param>maven-eclipse.xml</param> - <param>.checkstyle</param> - <param>.externalToolBuilders/*</param> - <param>src/main/resources/gosh_profile</param> - <param>src/main/resources/motd</param> - </excludes> - </configuration> - </plugin> - </plugins> - </build> + <dependencies> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>osgi.annotation</artifactId> + </dependency> + <dependency> + <groupId>org.osgi</groupId> + <artifactId>osgi.core</artifactId> + </dependency> + <dependency> + <groupId>org.apache.felix</groupId> + <artifactId>org.apache.felix.gogo.runtime</artifactId> + <version>1.1.1-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + </dependency> + </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <configuration> + <instructions> + <Export-Package></Export-Package> + </instructions> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.rat</groupId> + <artifactId>apache-rat-plugin</artifactId> + <configuration> + <excludeSubProjects>false</excludeSubProjects> + <useEclipseDefaultExcludes>true</useEclipseDefaultExcludes> + <useMavenDefaultExcludes>true</useMavenDefaultExcludes> + <excludes> + <param>doc/*</param> + <param>maven-eclipse.xml</param> + <param>.checkstyle</param> + <param>.externalToolBuilders/*</param> + <param>src/main/resources/motd</param> + </excludes> + </configuration> + </plugin> + </plugins> + </build> </project> Modified: felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java URL: http://svn.apache.org/viewvc/felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java?rev=1849343&r1=1849342&r2=1849343&view=diff ============================================================================== --- felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java (original) +++ felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/Activator.java Wed Dec 19 22:29:51 2018 @@ -34,12 +34,15 @@ import java.util.concurrent.TimeUnit; import org.apache.felix.service.command.CommandProcessor; import org.apache.felix.service.command.CommandSession; import org.apache.felix.service.command.Converter; +import org.osgi.annotation.bundle.Header; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; +import org.osgi.framework.Constants; import org.osgi.framework.ServiceReference; import org.osgi.framework.ServiceRegistration; import org.osgi.util.tracker.ServiceTracker; +@Header(name = Constants.BUNDLE_ACTIVATOR, value = "${@class}") public class Activator implements BundleActivator { private BundleContext context; Added: felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/package-info.java URL: http://svn.apache.org/viewvc/felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/package-info.java?rev=1849343&view=auto ============================================================================== --- felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/package-info.java (added) +++ felix/trunk/gogo/shell/src/main/java/org/apache/felix/gogo/shell/package-info.java Wed Dec 19 22:29:51 2018 @@ -0,0 +1,32 @@ +/* + * 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. + */ + [email protected]( + attribute = "implementation.name=gogo.shell", + namespace = "org.apache.felix.gogo", + name = "shell.implementation" +) +@Requirement( + effective = "active", + namespace = "org.apache.felix.gogo", + name = "command.implementation" +) +package org.apache.felix.gogo.shell; + +import org.osgi.annotation.bundle.Requirement; Modified: felix/trunk/gogo/shell/src/main/resources/gosh_profile URL: http://svn.apache.org/viewvc/felix/trunk/gogo/shell/src/main/resources/gosh_profile?rev=1849343&r1=1849342&r2=1849343&view=diff ============================================================================== --- felix/trunk/gogo/shell/src/main/resources/gosh_profile (original) +++ felix/trunk/gogo/shell/src/main/resources/gosh_profile Wed Dec 19 22:29:51 2018 @@ -1,3 +1,21 @@ +# +# 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. +# # default gosh_profile # only read if etc/gosh_profile doesn't exist relative to the System property # gosh.home or failing that the current directory.
