diff --git a/codemodel-project-2.6.tar.gz b/codemodel-project-2.6.tar.gz new file mode 100644 index 0000000..1594597 Binary files /dev/null and b/codemodel-project-2.6.tar.gz differ diff --git a/codemodel-remove-istack-commons-dependency.patch b/codemodel-remove-istack-commons-dependency.patch new file mode 100644 index 0000000..8ce3252 --- /dev/null +++ b/codemodel-remove-istack-commons-dependency.patch @@ -0,0 +1,130 @@ +commit 1c15b90aa77cbc242bcec7ea3b38eb46e4c037cb +Author: Juan Hernandez +Date: Sat Mar 31 16:25:02 2012 +0200 + + Remove the dependency on istack-commons + +diff --git a/codemodel-annotation-compiler/pom.xml b/codemodel-annotation-compiler/pom.xml +index 100e084..e1459bc 100644 +--- a/codemodel-annotation-compiler/pom.xml ++++ b/codemodel-annotation-compiler/pom.xml +@@ -60,17 +60,6 @@ + 2.6 + + +- com.sun.istack +- istack-commons-tools +- 2.5 +- +- +- org.apache.ant +- ant +- +- +- +- + org.apache.ant + ant + 1.7.0 +diff --git a/codemodel-annotation-compiler/src/main/java/com/sun/codemodel/ac/ACTask.java b/codemodel-annotation-compiler/src/main/java/com/sun/codemodel/ac/ACTask.java +index d5b0a14..c6d799d 100644 +--- a/codemodel-annotation-compiler/src/main/java/com/sun/codemodel/ac/ACTask.java ++++ b/codemodel-annotation-compiler/src/main/java/com/sun/codemodel/ac/ACTask.java +@@ -64,7 +64,6 @@ import com.sun.codemodel.JDefinedClass; + import com.sun.codemodel.JMod; + import com.sun.codemodel.JPackage; + import com.sun.codemodel.JType; +-import com.sun.istack.tools.MaskingClassLoader; + import java.io.Closeable; + import java.net.MalformedURLException; + import java.net.URL; +diff --git a/codemodel-annotation-compiler/src/main/java/com/sun/codemodel/ac/MaskingClassLoader.java b/codemodel-annotation-compiler/src/main/java/com/sun/codemodel/ac/MaskingClassLoader.java +new file mode 100644 +index 0000000..d303c11 +--- /dev/null ++++ b/codemodel-annotation-compiler/src/main/java/com/sun/codemodel/ac/MaskingClassLoader.java +@@ -0,0 +1,84 @@ ++/* ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. ++ * ++ * Copyright (c) 1997-2010 Oracle and/or its affiliates. All rights reserved. ++ * ++ * The contents of this file are subject to the terms of either the GNU ++ * General Public License Version 2 only ("GPL") or the Common Development ++ * and Distribution License("CDDL") (collectively, the "License"). You ++ * may not use this file except in compliance with the License. You can ++ * obtain a copy of the License at ++ * https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html ++ * or packager/legal/LICENSE.txt. See the License for the specific ++ * language governing permissions and limitations under the License. ++ * ++ * When distributing the software, include this License Header Notice in each ++ * file and include the License file at packager/legal/LICENSE.txt. ++ * ++ * GPL Classpath Exception: ++ * Oracle designates this particular file as subject to the "Classpath" ++ * exception as provided by Oracle in the GPL Version 2 section of the License ++ * file that accompanied this code. ++ * ++ * Modifications: ++ * If applicable, add the following below the License Header, with the fields ++ * enclosed by brackets [] replaced by your own identifying information: ++ * "Portions Copyright [year] [name of copyright owner]" ++ * ++ * Contributor(s): ++ * If you wish your version of this file to be governed by only the CDDL or ++ * only the GPL Version 2, indicate your decision by adding "[Contributor] ++ * elects to include this software in this distribution under the [CDDL or GPL ++ * Version 2] license." If you don't indicate a single choice of license, a ++ * recipient has the option to distribute your version of this file under ++ * either the CDDL, the GPL Version 2 or to extend the choice of license to ++ * its licensees as provided above. However, if you add GPL Version 2 code ++ * and therefore, elected the GPL Version 2 license, then the option applies ++ * only if the new code is made subject to such option by the copyright ++ * holder. ++ */ ++ ++package com.sun.codemodel.ac; ++ ++import java.util.Collection; ++ ++/** ++ * {@link ClassLoader} that masks a specified set of classes ++ * from its parent class loader. ++ * ++ *

++ * This code is used to create an isolated environment. ++ * ++ * @author Kohsuke Kawaguchi ++ */ ++public class MaskingClassLoader extends ClassLoader { ++ ++ private final String[] masks; ++ ++ public MaskingClassLoader(String... masks) { ++ this.masks = masks; ++ } ++ ++ public MaskingClassLoader(Collection masks) { ++ this(masks.toArray(new String[masks.size()])); ++ } ++ ++ public MaskingClassLoader(ClassLoader parent, String... masks) { ++ super(parent); ++ this.masks = masks; ++ } ++ ++ public MaskingClassLoader(ClassLoader parent, Collection masks) { ++ this(parent, masks.toArray(new String[masks.size()])); ++ } ++ ++ @Override ++ protected synchronized Class loadClass(String name, boolean resolve) throws ClassNotFoundException { ++ for (String mask : masks) { ++ if(name.startsWith(mask)) ++ throw new ClassNotFoundException(); ++ } ++ ++ return super.loadClass(name, resolve); ++ } ++} diff --git a/codemodel.spec b/codemodel.spec new file mode 100644 index 0000000..48afec3 --- /dev/null +++ b/codemodel.spec @@ -0,0 +1,44 @@ +Name: codemodel +Version: 2.6 +Release: 1 +Summary: Java library for code generators +License: CDDL-1.1 or GPLv2 with exceptions +URL: http://codemodel.java.net +Source0: https://github.com/javaee/jaxb-codemodel/archive/%{name}-project-%{version}.tar.gz +Patch0: %{name}-remove-istack-commons-dependency.patch +BuildArch: noarch +BuildRequires: maven-local mvn(junit:junit) mvn(net.java:jvnet-parent:pom:) +BuildRequires: mvn(org.apache.ant:ant) +%description +CodeModel is a Java library for code generators; it provides a way to +generate Java programs in a way much nicer than PrintStream.println(). +This project is a spin-off from the JAXB RI for its schema compiler +to generate Java source files. + +%package javadoc +Summary: Javadoc for %{name} +%description javadoc +This package contains the API documentation for %{name}. + +%prep +%setup -q -n jaxb-codemodel-codemodel-project-%{version} +%patch0 -p1 +find . -name '*.jar' -print -delete +%mvn_file :%{name} %{name} +%mvn_file :%{name}-annotation-compiler %{name}-annotation-compiler + +%build +%mvn_build -- -Dproject.build.sourceEncoding=UTF-8 + +%install +%mvn_install + +%files -f .mfiles +%license LICENSE.html + +%files javadoc -f .mfiles-javadoc +%license LICENSE.html + +%changelog +* Sat Aug 22 2020 liyanan - 2.6-1 +- package init diff --git a/codemodel.yaml b/codemodel.yaml new file mode 100644 index 0000000..b9260b5 --- /dev/null +++ b/codemodel.yaml @@ -0,0 +1,5 @@ +git_url: https://github.com/javaee/jaxb-codemodel.git +version_control: github +src_repo: javaee/jaxb-codemodel +tag_prefix: "codemodel-project-" +seperator: "."