Name: xtext-lib
Version: 2.22.0
Release: 1%{?dist}
Summary: The standard library for Xbase languages such as Xtend
License: EPL-2.0
URL: https://github.com/eclipse/%{name}
Source0: https://github.com/eclipse/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
# Custom aggregator POM and POMs from maven central since this is a gradle-built project
# and we don't have gradle available in Fedora
Source10: aggregator.pom
Source11: https://repo1.maven.org/maven2/org/eclipse/xtend/org.eclipse.xtend.lib/%{version}/org.eclipse.xtend.lib-%{version}.pom
Source12: https://repo1.maven.org/maven2/org/eclipse/xtend/org.eclipse.xtend.lib.macro/%{version}/org.eclipse.xtend.lib.macro-%{version}.pom
Source13: https://repo1.maven.org/maven2/org/eclipse/xtext/org.eclipse.xtext.xbase.lib/%{version}/org.eclipse.xtext.xbase.lib-%{version}.pom
BuildArch: noarch
BuildRequires: maven-local
BuildRequires: mvn(com.google.guava:guava)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
%description
Xtext is a framework for development of programming languages and domain
specific languages. With Xtext you define your language using a powerful
grammar language. As a result you get a full infrastructure, including
parser, linker, typechecker, compiler as well as editing support for Eclipse,
any editor that supports the Language Server Protocol and your favorite web
browser.
%package javadoc
Summary: API documentation for %{name}
%description javadoc
%{summary}.
%prep
%setup -q
cp -p %{SOURCE10} pom.xml
cp -p %{SOURCE11} org.eclipse.xtend.lib/pom.xml
cp -p %{SOURCE12} org.eclipse.xtend.lib.macro/pom.xml
cp -p %{SOURCE13} org.eclipse.xtext.xbase.lib/pom.xml
for pom in org.eclipse.*/pom.xml ; do
# Set parent to aggregator pom
%pom_xpath_inject pom:project "%{name}aggregator1.0.0" $pom
# Standardise project layout
project=$(dirname $pom)
mv $project/src $project/src_temp
mkdir -p $project/src/main/{resources,java}
mv $project/*.html $project/src/main/resources
cp -pr $project/src_temp/* $project/src/main/java
if [ -d "$project/deprecated" ] ; then
cp -pr $project/deprecated/* $project/src/main/java
fi
if [ -d "$project/xtend-gen" ] ; then
cp -pr $project/xtend-gen/* $project/src/main/java
fi
done
# Remove dep on bill-of-materials, adds no value for RPM builds
%pom_remove_dep -r :xtext-dev-bom
# No need to install the aggregator pom
%mvn_package :aggregator __noinstall
%build
%mvn_build
%install
%mvn_install
%files -f .mfiles
%license LICENSE NOTICE.md
%doc README.md
%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE.md
%changelog
* Thu Aug 27 2020 Mat Booth - 2.22.0-1
- Initial packaging of xtext-lib