Accepting request 962399 from Java:packages

change build system to ant

OBS-URL: https://build.opensuse.org/request/show/962399
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/felix-gogo-runtime?expand=0&rev=3
This commit is contained in:
Dominique Leuenberger 2022-03-17 16:01:48 +00:00 committed by Git OBS Bridge
commit a35283f33a
3 changed files with 166 additions and 14 deletions

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Wed Mar 16 13:12:52 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
-------------------------------------------------------------------
Thu Nov 28 08:52:53 UTC 2019 - Fridrich Strba <fstrba@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package felix-gogo-runtime
#
# Copyright (c) 2019 SUSE LLC
# 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
@ -23,14 +23,14 @@ Release: 0
Summary: Apache Felix Gogo command line shell for OSGi
License: Apache-2.0
Group: Development/Libraries/Java
URL: http://felix.apache.org/documentation/subprojects/apache-felix-gogo.html
URL: https://felix.apache.org/documentation/subprojects/apache-felix-gogo.html
Source0: http://archive.apache.org/dist/felix/%{bundle}-%{version}-source-release.tar.gz
Source1: %{bundle}-build.xml
BuildRequires: ant
BuildRequires: fdupes
BuildRequires: maven-local
BuildRequires: mvn(org.apache.felix:gogo-parent:pom:) >= 4
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.osgi:osgi.cmpn)
BuildRequires: mvn(org.osgi:osgi.core)
BuildRequires: javapackages-local
BuildRequires: osgi-compendium
BuildRequires: osgi-core
BuildArch: noarch
%description
@ -46,23 +46,36 @@ This package contains the API documentation for %{name}.
%prep
%setup -q -n %{bundle}-%{version}
cp %{SOURCE1} build.xml
%{mvn_file} : felix/%{bundle}
%pom_remove_parent
%pom_xpath_inject pom:project "<groupId>org.apache.felix</groupId>"
%build
%{mvn_build} -f \
%if %{?pkg_vcmp:%pkg_vcmp java-devel >= 9}%{!?pkg_vcmp:0}
-- -Dmaven.compiler.release=8
%endif
mkdir -p lib
build-jar-repository -s lib osgi-core osgi-compendium
%{ant} jar javadoc
%install
%mvn_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
%files javadoc -f .mfiles-javadoc
%files javadoc
%{_javadocdir}/%{name}
%license LICENSE NOTICE
%changelog

View File

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="org.apache.felix.gogo.runtime" default="package" basedir=".">
<!-- ====================================================================== -->
<!-- Build environment properties -->
<!-- ====================================================================== -->
<property name="project.groupId" value="org.apache.felix"/>
<property name="project.artifactId" value="org.apache.felix.gogo.runtime"/>
<property name="project.version" value="1.1.0"/>
<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>
</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.gogo.runtime.activator.Activator"/>
<attribute name="Bundle-Description" value="Apache Felix Gogo Subproject"/>
<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 Gogo Runtime"/>
<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.gogo.runtime.activator;version=&quot;${project.version}&quot;;uses:=&quot;org.apache.felix.gogo.runtime,org.apache.felix.service.command,org.apache.felix.service.threadio,org.osgi.framework&quot;,org.apache.felix.gogo.runtime.threadio;version=&quot;${project.version}&quot;;uses:=&quot;org.apache.felix.service.threadio&quot;,org.apache.felix.gogo.runtime;version=&quot;${project.version}&quot;;uses:=&quot;org.apache.felix.service.command,org.apache.felix.service.threadio,org.osgi.framework&quot;,org.apache.felix.service.command;version=&quot;1.0.0&quot;,org.apache.felix.service.threadio;version=&quot;1.0.0&quot;"/>
<attribute name="Import-Package" value="java.io,java.lang,java.lang.annotation,java.lang.invoke,java.lang.reflect,java.math,java.net,java.nio,java.nio.channels,java.nio.channels.spi,java.nio.file,java.nio.file.attribute,java.util,java.util.concurrent,java.util.concurrent.atomic,java.util.function,java.util.logging,java.util.regex,org.apache.felix.gogo.runtime.threadio;version=&quot;[1.1,2)&quot;,org.apache.felix.gogo.runtime;version=&quot;[1.1,2)&quot;,org.apache.felix.service.command;version=&quot;[1.0,2)&quot;,org.apache.felix.service.threadio;version=&quot;[1.0,2)&quot;,org.osgi.framework;version=&quot;[1.9,2)&quot;,org.osgi.service.event;resolution:=optional;version=&quot;[1.4,2)&quot;,org.osgi.util.tracker;version=&quot;[1.5,2)&quot;"/>
<attribute name="JavaPackages-ArtifactId" value="${project.artifactId}"/>
<attribute name="JavaPackages-GroupId" value="${project.groupId}"/>
<attribute name="JavaPackages-Version" value="${project.version}"/>
<attribute name="Provide-Capability" value="osgi.service;effective:=active;objectClass=&quot;org.apache.felix.service.command.CommandProcessor&quot;,osgi.service;effective:=active;objectClass=&quot;org.apache.felix.service.threadio.ThreadIO&quot;"/>
<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>