Sync from SUSE:SLFO:Main felix-shell revision 20972526c4ef72ae263e6ef9b047b440

This commit is contained in:
Adrian Schröter 2024-05-03 12:27:46 +02:00
commit 335d45dbd4
5 changed files with 274 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

21
felix-shell.changes Normal file
View File

@ -0,0 +1,21 @@
-------------------------------------------------------------------
Wed Mar 16 12:49:38 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Rewrite the build system to ant so that we can eventually avoid
build cycles with maven-plugin-bundle built against
felix-bundlerepository
-------------------------------------------------------------------
Tue Mar 31 06:10:51 UTC 2020 - Fridrich Strba <fstrba@suse.com>
- Build against OSGi R7 APIs
-------------------------------------------------------------------
Mon Dec 2 06:30:52 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Specify maven.compiler.release to fix javadoc build with jdk11
-------------------------------------------------------------------
Tue May 7 10:10:09 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Initial packaging of felix-shell 1.4.3

89
felix-shell.spec Normal file
View File

@ -0,0 +1,89 @@
#
# spec file for package felix-shell
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global bundle org.apache.felix.shell
Name: felix-shell
Version: 1.4.3
Release: 0
Summary: Apache Felix Shell Service
License: Apache-2.0
Group: Development/Libraries/Java
URL: https://felix.apache.org
Source0: http://archive.apache.org/dist/felix/%{bundle}-%{version}-source-release.tar.gz
Source1: %{bundle}-build.xml
BuildRequires: ant
BuildRequires: fdupes
BuildRequires: javapackages-local
BuildRequires: osgi-compendium
BuildRequires: osgi-core
Requires: mvn(org.osgi:osgi.cmpn)
Requires: mvn(org.osgi:osgi.core)
BuildArch: noarch
%description
A simple OSGi command shell service.
%package javadoc
Summary: API documentation for %{name}
Group: Documentation/HTML
%description javadoc
This package contains API documentation for %{name}.
%prep
%setup -q -n %{bundle}-%{version}
cp %{SOURCE1} build.xml
%pom_remove_parent
%pom_xpath_inject pom:project "<groupId>org.apache.felix</groupId>"
%pom_remove_plugin org.codehaus.mojo:rat-maven-plugin
# Use latest OSGi implementation
%pom_change_dep :org.osgi.core org.osgi:osgi.core
%pom_change_dep :org.osgi.compendium org.osgi:osgi.cmpn
%build
mkdir -p lib
build-jar-repository -s lib osgi-core osgi-compendium
%ant jar javadoc
%install
# jar
install -d -m 755 %{buildroot}%{_javadir}/felix
install -m 644 target/%{bundle}-%{version}.jar %{buildroot}%{_javadir}/felix/%{bundle}.jar
# pom
install -d -m 755 %{buildroot}%{_mavenpomdir}/felix
install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/felix/%{bundle}.pom
%add_maven_depmap felix/%{bundle}.pom felix/%{bundle}.jar
# javadoc
install -d -m 755 %{buildroot}%{_javadocdir}/%{name}
cp -r target/site/apidocs/* %{buildroot}/%{_javadocdir}/%{name}
%fdupes -s %{buildroot}%{_javadocdir}
%files -f .mfiles
%license LICENSE NOTICE
%doc DEPENDENCIES
%files javadoc
%{_javadocdir}/%{name}
%license LICENSE NOTICE
%changelog

BIN
org.apache.felix.shell-1.4.3-source-release.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="org.apache.felix.shell" default="package" basedir=".">
<!-- ====================================================================== -->
<!-- Build environment properties -->
<!-- ====================================================================== -->
<property file="build.properties"/>
<property name="project.groupId" value="org.apache.felix"/>
<property name="project.artifactId" value="org.apache.felix.shell"/>
<property name="project.version" value="1.4.3"/>
<property name="compiler.source" value="1.8"/>
<property name="compiler.target" value="${compiler.source}"/>
<property name="build.finalName" value="${project.artifactId}-${project.version}"/>
<property name="build.dir" value="target"/>
<property name="build.outputDir" value="${build.dir}/classes"/>
<property name="build.srcDir" value="src/main/java"/>
<property name="build.resourceDir" value="src/main/resources"/>
<property name="reporting.outputDirectory" value="${build.dir}/site"/>
<!-- ====================================================================== -->
<!-- Defining classpaths -->
<!-- ====================================================================== -->
<path id="build.classpath">
<fileset dir="lib">
<include name="**/*"/>
</fileset>
</path>
<!-- ====================================================================== -->
<!-- Cleaning up target -->
<!-- ====================================================================== -->
<target name="clean" description="Clean the output directory">
<delete dir="${build.dir}"/>
</target>
<!-- ====================================================================== -->
<!-- Compilation target -->
<!-- ====================================================================== -->
<target name="compile" description="Compile the code">
<mkdir dir="${build.outputDir}"/>
<javac destdir="${build.outputDir}"
encoding="UTF-8"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}">
<src>
<pathelement location="${build.srcDir}"/>
</src>
<classpath refid="build.classpath"/>
</javac>
<copy todir="${build.outputDir}">
<fileset dir="${build.resourceDir}"/>
</copy>
</target>
<!-- ====================================================================== -->
<!-- Javadoc target -->
<!-- ====================================================================== -->
<target name="javadoc" description="Generates the Javadoc of the application">
<javadoc sourcepath="${build.srcDir}"
packagenames="*"
destdir="${reporting.outputDirectory}/apidocs"
access="protected"
verbose="false"
encoding="UTF-8"
version="true"
use="true"
author="true"
splitindex="false"
nodeprecated="false"
nodeprecatedlist="false"
notree="false"
noindex="false"
nohelp="false"
nonavbar="false"
serialwarn="false"
charset="UTF-8"
linksource="false"
breakiterator="false"
source="${compiler.source}">
<classpath refid="build.classpath"/>
</javadoc>
</target>
<!-- ====================================================================== -->
<!-- Package target -->
<!-- ====================================================================== -->
<target name="package" depends="compile" description="Package the application">
<jar jarfile="${build.dir}/${build.finalName}.jar"
compress="true"
index="false"
basedir="${build.outputDir}"
excludes="**/package.html">
<manifest>
<attribute name="Bundle-Activator" value="org.apache.felix.shell.impl.Activator"/>
<attribute name="Bundle-Description" value="A simple OSGi command shell service."/>
<attribute name="Bundle-DocURL" value="https://www.apache.org/"/>
<attribute name="Bundle-License" value="https://www.apache.org/licenses/LICENSE-2.0.txt"/>
<attribute name="Bundle-ManifestVersion" value="2"/>
<attribute name="Bundle-Name" value="Apache Felix Shell Service"/>
<attribute name="Bundle-SymbolicName" value="${project.artifactId}"/>
<attribute name="Bundle-Vendor" value="The Apache Software Foundation"/>
<attribute name="Bundle-Version" value="${project.version}"/>
<attribute name="Export-Package" value="org.apache.felix.shell;version=&quot;1.0.0&quot;;uses:=&quot;org.osgi.framework&quot;,org.osgi.service.log;version=&quot;1.4&quot;;uses:=&quot;org.osgi.framework&quot;,org.ungoverned.osgi.service.shell;version=&quot;1.0.0&quot;;uses:=&quot;org.osgi.framework&quot;"/>
<attribute name="Export-Service" value="org.apache.felix.shell.ShellService,org.ungoverned.osgi.service.shell.ShellService"/>
<attribute name="Import-Package" value="java.io,java.lang,java.net,java.security,java.text,java.util,org.apache.felix.shell;version=&quot;[1.0,2)&quot;,org.osgi.framework;version=&quot;[1.9,2)&quot;,org.osgi.service.log;version=&quot;[1.4,2)&quot;,org.osgi.service.packageadmin;version=&quot;[1.2,2)&quot;,org.osgi.service.startlevel;version=&quot;[1.1,2)&quot;,org.osgi.util.tracker;version=&quot;[1.5,2)&quot;,org.ungoverned.osgi.service.shell;version=&quot;[1.0,2)&quot;"/>
<attribute name="Import-Service" value="org.osgi.service.packageadmin.PackageAdmin,org.osgi.service.startlevel.StartLevel"/>
<attribute name="JavaPackages-ArtifactId" value="${project.artifactId}"/>
<attribute name="JavaPackages-GroupId" value="${project.groupId}"/>
<attribute name="JavaPackages-Version" value="${project.version}"/>
<attribute name="Require-Capability" value="osgi.ee;filter:=&quot;(&amp;(osgi.ee=JavaSE)(version=${compiler.target}))&quot;"/>
</manifest>
</jar>
</target>
<!-- ====================================================================== -->
<!-- A dummy target for the package named after the type it creates -->
<!-- ====================================================================== -->
<target name="jar" depends="package" description="Builds the jar for the application"/>
</project>