package init

This commit is contained in:
hht8 2020-09-11 17:06:48 +08:00
parent 0cce5fb4f2
commit edb3b04e6b
17 changed files with 2455 additions and 0 deletions

335
jsf-api-2.2.13.pom Normal file
View File

@ -0,0 +1,335 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.2.13</version>
<packaging>jar</packaging>
<name>
Oracle's implementation of the JSF 2.2 specification API.
</name>
<description>
This is the master POM file for Oracle's Implementation of the JSF 2.2 Specification.
</description>
<url>http://java.sun.com/javaee/javaserverfaces/</url>
<licenses>
<license>
<name>
COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) plus GPL
</name>
<url>http://glassfish.java.net/nonav/public/CDDL+GPL.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>http://java.net/projects/mojarra/sources</url>
<connection>scm:svn:https://svn.java.net/svn/mojarra~svn/trunk</connection>
</scm>
<developers>
<developer>
<id>edburns</id>
<name>Ed Burns</name>
<email>edward.burns@oracle.com</email>
<organization>Oracle America, Inc.</organization>
<roles>
<role>project-owner</role>
</roles>
<timezone>-6</timezone>
</developer>
<developer>
<id>rogerk</id>
<name>Roger Kitain</name>
<email>roger.kitain@oracle.com</email>
<organization>Oracle America, Inc.</organization>
<roles>
<role>project-owner</role>
</roles>
<timezone>-6</timezone>
</developer>
</developers>
<distributionManagement>
<snapshotRepository>
<id>jvnet-nexus-snapshots</id>
<name>Java.net Nexus Snapshots Repository</name>
<url>https://maven.java.net/content/repositories/snapshots/</url>
</snapshotRepository>
<repository>
<id>jvnet-nexus-staging</id>
<name>Java.net Nexus Staging Repository</name>
<url>https://maven.java.net/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<excludes>
<exclude>**/*.*</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<updateReleaseInfo>true</updateReleaseInfo>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>target/jsf-api-2.2.13-javadoc.jar</file>
<type>jar</type>
<classifier>javadoc</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>target/classes/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<issueManagement>
<system>JIRA</system>
<url>https://java.net/jira/browse/JAVASERVERFACES</url>
</issueManagement>
<mailingLists>
<mailingList>
<name>JSF 2.2 Specification Comments</name>
<post>jsr-314-comments@jcp.org</post>
</mailingList>
<mailingList>
<name>Mojarra Implementation Dev List</name>
<post>dev@javaserverfaces.dev.java.net</post>
<archive>
https://javaserverfaces.dev.java.net/servlets/SummarizeList?listName=dev
</archive>
</mailingList>
</mailingLists>
<contributors>
<contributor>
<name>Craig McClanahan</name>
</contributor>
<contributor>
<name>Deepak Gothe</name>
</contributor>
<contributor>
<name>Gregory Murray</name>
</contributor>
<contributor>
<name>Justyna Horwat</name>
</contributor>
<contributor>
<name>Jayashri Visvanathan</name>
</contributor>
<contributor>
<name>Jennifer Ball</name>
</contributor>
<contributor>
<name>Jacob Hookom</name>
</contributor>
<contributor>
<name>Raj Premkumar</name>
</contributor>
<contributor>
<name>Stan Silvert</name>
</contributor>
<contributor>
<name>Mike Youngstrom</name>
</contributor>
<contributor>
<name>Jason Lee</name>
</contributor>
</contributors>
<organization>
<name>Oracle America, Inc</name>
<url>http://www.oracle.com/</url>
</organization>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>release-sign-artifacts</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<excludes>
<exclude>**/*.*</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>target/jsf-api-2.2.13-javadoc.jar</file>
<type>jar</type>
<classifier>javadoc</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>target/classes/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

295
jsf-impl-2.2.13.pom Normal file
View File

@ -0,0 +1,295 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.2.13</version>
<packaging>jar</packaging>
<name>
Oracle's implementation of the JSF 2.2 specification.
</name>
<description>
This is the master POM file for Oracle's Implementation of the JSF 2.2 Specification.
</description>
<url>http://java.sun.com/javaee/javaserverfaces/</url>
<licenses>
<license>
<name>
COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) plus GPL
</name>
<url>http://glassfish.java.net/nonav/public/CDDL+GPL.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>http://java.net/projects/mojarra/sources</url>
<connection>scm:svn:https://svn.java.net/svn/mojarra~svn/trunk</connection>
</scm>
<developers>
<developer>
<id>edburns</id>
<name>Ed Burns</name>
<email>ed.burns@sun.com</email>
<organization>Oracle America, Inc.</organization>
<roles>
<role>project-owner</role>
</roles>
<timezone>-6</timezone>
</developer>
<developer>
<id>rlubke</id>
<name>Ryan Lubke</name>
<email>Ryan.Lubke@sun.com</email>
<organization>Oracle America, Inc.</organization>
<roles>
<role>project-owner</role>
</roles>
<timezone>-9</timezone>
</developer>
<developer>
<id>rogerk</id>
<name>Roger Kitain</name>
<email>Roger.Kitain@sun.com</email>
<organization>Oracle America, Inc.</organization>
<roles>
<role>project-owner</role>
</roles>
<timezone>-6</timezone>
</developer>
<developer>
<id>driscoll</id>
<name>Jim Driscoll</name>
<email>jim.dirscoll@sun.com</email>
<organization>Oracle America, Inc.</organization>
<roles>
<role>project-owner</role>
</roles>
<timezone>-9</timezone>
</developer>
</developers>
<distributionManagement>
<snapshotRepository>
<id>jvnet-nexus-snapshots</id>
<name>Java.net Nexus Snapshots Repository</name>
<url>https://maven.java.net/content/repositories/snapshots/</url>
</snapshotRepository>
<repository>
<id>jvnet-nexus-staging</id>
<name>Java.net Nexus Staging Repository</name>
<url>https://maven.java.net/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<build>
<defaultGoal>install</defaultGoal>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
<excludes>
<exclude>**/*.*</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<updateReleaseInfo>true</updateReleaseInfo>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>target/jsf-impl-2.2.13-javadoc.jar</file>
<type>jar</type>
<classifier>javadoc</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifestFile>target/classes/META-INF/MANIFEST.MF
</manifestFile>
</archive>
</configuration>
</plugin>
</plugins>
</build>
<issueManagement>
<system>JIRA</system>
<url>https://java.net/jira/browse/JAVASERVERFACES</url>
</issueManagement>
<mailingLists>
<mailingList>
<name>Oracle's JavaServer Faces Implementation Dev List</name>
<post>dev@javaserverfaces.dev.java.net</post>
<archive>
https://javaserverfaces.dev.java.net/servlets/SummarizeList?listName=dev
</archive>
</mailingList>
</mailingLists>
<contributors>
<contributor>
<name>Craig McClanahan</name>
</contributor>
<contributor>
<name>Deepak Gothe</name>
</contributor>
<contributor>
<name>Gregory Murray</name>
</contributor>
<contributor>
<name>Justyna Horwat</name>
</contributor>
<contributor>
<name>Jayashri Visvanathan</name>
</contributor>
<contributor>
<name>Jennifer Ball</name>
</contributor>
<contributor>
<name>Jacob Hookom</name>
</contributor>
<contributor>
<name>Raj Premkumar</name>
</contributor>
<contributor>
<name>Stan Silvert</name>
</contributor>
<contributor>
<name>Mike Youngstrom</name>
</contributor>
<contributor>
<name>Jason Lee</name>
</contributor>
</contributors>
<organization>
<name>Oracle America, Inc</name>
<url>http://www.oracle.com/</url>
</organization>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>2.2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>jstl-api</artifactId>
<version>1.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
<profiles>
<profile>
<id>release-sign-artifacts</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

View File

@ -0,0 +1,74 @@
diff -Nru mojarra-2.2.13/jsf-api/src/main/java/javax/faces/FactoryFinderInstance.java mojarra-2.2.13.InjectionProvider/jsf-api/src/main/java/javax/faces/FactoryFinderInstance.java
--- mojarra-2.2.13/jsf-api/src/main/java/javax/faces/FactoryFinderInstance.java 2016-02-04 03:54:54.000000000 +0100
+++ mojarra-2.2.13.InjectionProvider/jsf-api/src/main/java/javax/faces/FactoryFinderInstance.java 2016-09-30 16:33:55.327278523 +0200
@@ -41,7 +41,7 @@
package javax.faces;
-import com.sun.faces.spi.InjectionProvider;
+//import com.sun.faces.spi.InjectionProvider;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
@@ -168,7 +168,7 @@
}
private void copyInjectionProviderFromFacesContext() {
- InjectionProvider injectionProvider = null;
+ /*InjectionProvider injectionProvider = null;
FacesContext context = FacesContext.getCurrentInstance();
if (null != context) {
injectionProvider = (InjectionProvider) context.getAttributes().get("com.sun.faces.config.ConfigManager_INJECTION_PROVIDER_TASK");
@@ -179,7 +179,7 @@
if (LOGGER.isLoggable(Level.SEVERE)) {
LOGGER.log(Level.SEVERE, "Unable to obtain InjectionProvider from init time FacesContext. Does this container implement the Mojarra Injection SPI?");
}
- }
+ }*/
}
/**
@@ -408,7 +408,7 @@
}
}
- if (null != result) {
+ /*if (null != result) {
InjectionProvider provider = getInjectionProvider();
if (null != provider) {
try {
@@ -423,7 +423,7 @@
LOGGER.log(Level.SEVERE, "Unable to inject {0} because no InjectionProvider can be found. Does this container implement the Mojarra Injection SPI?", result);
}
}
- }
+ }*/
return result;
@@ -459,7 +459,7 @@
}
void releaseFactories() {
- InjectionProvider provider = getInjectionProvider();
+ /*InjectionProvider provider = getInjectionProvider();
if (null != provider) {
lock.writeLock().lock();
try {
@@ -491,13 +491,13 @@
if (LOGGER.isLoggable(Level.SEVERE)) {
LOGGER.log(Level.SEVERE, "Unable to call @PreDestroy annotated methods because no InjectionProvider can be found. Does this container implement the Mojarra Injection SPI?");
}
- }
+ }*/
}
- InjectionProvider getInjectionProvider() {
+ /*InjectionProvider getInjectionProvider() {
InjectionProvider result = (InjectionProvider) factories.get(INJECTION_PROVIDER_KEY);
return result;
- }
+ }*/
void clearInjectionProvider() {
factories.remove(INJECTION_PROVIDER_KEY);

View File

@ -0,0 +1,501 @@
From 29f666432cbd8a32ed7ff7c678b7bcd412f46b19 Mon Sep 17 00:00:00 2001
From: mriem <mriem@java.net>
Date: Fri, 22 Aug 2014 18:30:06 +0000
Subject: [PATCH] Disabling stripping API jars
git-svn-id: https://svn.java.net/svn/mojarra~svn/trunk@13559 761efcf2-d34d-6b61-9145-99dcacc3edf1
---
.../faces/generate/HtmlTaglib12Generator.java | 58 ++-
.../faces/tools/StripClassesForApiJar.java | 398 +++++++++---------
2 files changed, 249 insertions(+), 207 deletions(-)
diff --git a/jsf-tools/src/main/java/com/sun/faces/generate/HtmlTaglib12Generator.java b/jsf-tools/src/main/java/com/sun/faces/generate/HtmlTaglib12Generator.java
index f3c33ff412..cb0b828185 100644
--- a/jsf-tools/src/main/java/com/sun/faces/generate/HtmlTaglib12Generator.java
+++ b/jsf-tools/src/main/java/com/sun/faces/generate/HtmlTaglib12Generator.java
@@ -653,15 +653,55 @@ protected void tagHandlerGeneralMethods() throws Exception {
protected static boolean isValueHolder(String componentClass) {
- try {
- Class<?> clazz = Class.forName(componentClass);
- Class<?> valueHolderClass =
- Class.forName("javax.faces.component.ValueHolder");
- return valueHolderClass.isAssignableFrom(clazz);
- } catch (ClassNotFoundException cnfe) {
- throw new IllegalStateException("Unable to find component class '" +
- componentClass + "' : " + cnfe.toString());
- }
+ String[] valueHolderClasses = {
+ "HtmlBody",
+ "HtmlDoctype",
+ "HtmlHead",
+ "HtmlInputHidden",
+ "HtmlInputSecret",
+ "HtmlInputText",
+ "HtmlInputTextarea",
+ "HtmlOutcomeTargetButton",
+ "HtmlOutcomeTargetLink",
+ "HtmlOutputFormat",
+ "HtmlOutputLabel",
+ "HtmlOutputLink",
+ "HtmlOutputText",
+ "HtmlSelectBooleanCheckbox",
+ "HtmlSelectManyCheckbox",
+ "HtmlSelectManyListbox",
+ "HtmlSelectManyMenu",
+ "HtmlSelectOneListbox",
+ "HtmlSelectOneMenu",
+ "HtmlSelectOneRadio",
+ "UIInput",
+ "UIOutcomeTarget",
+ "UIOutput",
+ "UISelectBoolean",
+ "UISelectMany",
+ "UISelectOne",
+ "UIViewParameter" };
+
+ boolean result = false;
+
+ for(int i = 0; i<valueHolderClasses.length; i++) {
+ if (componentClass.endsWith(valueHolderClasses[i])) {
+ result = true;
+ break;
+ }
+ }
+
+ return result;
+//
+// try {
+// Class<?> clazz = Class.forName(componentClass);
+// Class<?> valueHolderClass =
+// Class.forName("javax.faces.component.ValueHolder");
+// return valueHolderClass.isAssignableFrom(clazz);
+// } catch (ClassNotFoundException cnfe) {
+// throw new IllegalStateException("Unable to find component class '" +
+// componentClass + "' : " + cnfe.toString());
+// }
} // END isValueHolder
diff --git a/jsf-tools/src/main/java/com/sun/faces/tools/StripClassesForApiJar.java b/jsf-tools/src/main/java/com/sun/faces/tools/StripClassesForApiJar.java
index 2da164b..7e02f9d 100644
--- a/jsf-tools/src/main/java/com/sun/faces/tools/StripClassesForApiJar.java
+++ b/jsf-tools/src/main/java/com/sun/faces/tools/StripClassesForApiJar.java
@@ -43,19 +43,19 @@ package com.sun.faces.tools;
-import com.sun.tools.javac.api.JavacTaskImpl;
-import com.sun.tools.javac.code.Kinds;
-import com.sun.tools.javac.code.Scope;
-import com.sun.tools.javac.code.Symbol.*;
-import com.sun.tools.javac.code.Flags;
-import com.sun.tools.javac.code.Type;
-import com.sun.tools.javac.code.Types;
-import com.sun.tools.javac.jvm.ClassReader;
-import com.sun.tools.javac.jvm.ClassWriter;
-import com.sun.tools.javac.jvm.Pool;
-import com.sun.tools.javac.processing.JavacProcessingEnvironment;
-import com.sun.tools.javac.util.List;
-import com.sun.tools.javac.util.Name;
+//import com.sun.tools.javac.api.JavacTaskImpl;
+//import com.sun.tools.javac.code.Kinds;
+//import com.sun.tools.javac.code.Scope;
+//import com.sun.tools.javac.code.Symbol.*;
+//import com.sun.tools.javac.code.Flags;
+//import com.sun.tools.javac.code.Type;
+//import com.sun.tools.javac.code.Types;
+//import com.sun.tools.javac.jvm.ClassReader;
+//import com.sun.tools.javac.jvm.ClassWriter;
+//import com.sun.tools.javac.jvm.Pool;
+//import com.sun.tools.javac.processing.JavacProcessingEnvironment;
+//import com.sun.tools.javac.util.List;
+//import com.sun.tools.javac.util.Name;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
@@ -102,192 +102,194 @@ import javax.tools.ToolProvider;
*/
@SupportedOptions({"com.sun.tools.javac.sym.Jar","com.sun.tools.javac.sym.ExtraApiClassPath","com.sun.tools.javac.sym.Dest"})
@SupportedAnnotationTypes("*")
-public class StripClassesForApiJar extends AbstractProcessor {
+public class StripClassesForApiJar
+//extends AbstractProcessor
+{
- static Set<String> getLegacyPackages() {
- return Collections.emptySet();
- }
-
- @Override
- public boolean process(Set<? extends TypeElement> tes, RoundEnvironment renv) {
- if (!renv.processingOver())
- return true;
-
- Set<String> legacy = getLegacyPackages();
- Set<String> legacyProprietary = getLegacyPackages();
- Set<String> documented = new HashSet<String>();
- Set<PackageSymbol> packages =
- ((JavacProcessingEnvironment)processingEnv).getSpecifiedPackages();
- String jarName = processingEnv.getOptions().get("com.sun.tools.javac.sym.Jar");
- if (jarName == null)
- throw new RuntimeException("Must use -Acom.sun.tools.javac.sym.Jar=LOCATION_OF_JAR");
- String extraApiClassPath = processingEnv.getOptions().get("com.sun.tools.javac.sym.ExtraApiClassPath");
- if (extraApiClassPath == null)
- throw new RuntimeException("Must use -Acom.sun.tools.javac.sym.ExtraApiClassPath=extra api class path");
- String destName = processingEnv.getOptions().get("com.sun.tools.javac.sym.Dest");
- if (destName == null)
- throw new RuntimeException("Must use -Acom.sun.tools.javac.sym.Dest=LOCATION_OF_JAR");
-
- for (PackageSymbol psym : packages) {
- String name = psym.getQualifiedName().toString();
- legacyProprietary.remove(name);
- documented.add(name);
- }
-
- JavaCompiler tool = ToolProvider.getSystemJavaCompiler();
- StandardJavaFileManager fm = tool.getStandardFileManager(null, null, null);
- Location jarLocation = StandardLocation.locationFor(jarName);
- File jarFile = new File(jarName);
- String [] segments = extraApiClassPath.split(File.pathSeparator);
- java.util.List<File> extraClassPathSegments = new ArrayList<File>(segments.length);
- for (String cur : segments) {
- extraClassPathSegments.add(new File(cur));
- }
- File ExtraApiClassPathFile = new File(extraApiClassPath);
- try {
- fm.setLocation(jarLocation, List.of(jarFile));
- fm.setLocation(StandardLocation.CLASS_PATH, List.<File>nil());
- fm.setLocation(StandardLocation.SOURCE_PATH, List.<File>nil());
- {
- ArrayList<File> bootClassPath = new ArrayList<File>();
- bootClassPath.add(jarFile);
- for (File cur : extraClassPathSegments) {
- bootClassPath.add(cur);
- }
- // ADD EXTRA DEPENDENCIES HERE:
- for (File path : fm.getLocation(StandardLocation.PLATFORM_CLASS_PATH)) {
- // if (!new File(path.getName()).equals(new File("rt.jar")))
- bootClassPath.add(path);
- }
- System.err.println("Using boot class path = " + bootClassPath);
- fm.setLocation(StandardLocation.PLATFORM_CLASS_PATH, bootClassPath);
- }
- // System.out.println(fm.getLocation(StandardLocation.PLATFORM_CLASS_PATH));
- File destDir = new File(destName);
- if (!destDir.exists())
- if (!destDir.mkdirs())
- throw new RuntimeException("Could not create " + destDir);
- fm.setLocation(StandardLocation.CLASS_OUTPUT, List.of(destDir));
- } catch (IOException ioe) {
- System.err.println("Unable to set location");
- return false;
- }
- Set<String> hiddenPackages = new HashSet<String>();
- Set<String> crisp = new HashSet<String>();
- List<String> options = List.of("-XDdev");
- // options = options.prepend("-doe");
- // options = options.prepend("-verbose");
- JavacTaskImpl task = (JavacTaskImpl)
- tool.getTask(null, fm, null, options, null, null);
- com.sun.tools.javac.main.JavaCompiler compiler = com.sun.tools.javac.main.JavaCompiler.instance(task.getContext());
- ClassReader reader = ClassReader.instance(task.getContext());
- ClassWriter writer = ClassWriter.instance(task.getContext());
- Type.moreInfo = true;
- Pool pool = new Pool(Types.instance(task.getContext()));
- ClassSymbol cs = null;
- try {
- for (JavaFileObject file : fm.list(jarLocation, "", EnumSet.of(CLASS), true)) {
- String className = fm.inferBinaryName(jarLocation, file);
- int index = className.lastIndexOf('.');
- String pckName = index == -1 ? "" : className.substring(0, index);
- if (documented.contains(pckName)) {
- if (!legacy.contains(pckName))
- crisp.add(pckName);
- // System.out.println("Documented: " + className);
- } else if (legacyProprietary.contains(pckName)) {
- // System.out.println("Legacy proprietary: " + className);
- } else {
- // System.out.println("Hidden " + className);
- hiddenPackages.add(pckName);
- continue;
- }
- // PackageSymbol psym = reader.enterPackage(names.fromString(pckName));
- // psym.complete();
- TypeSymbol sym = (TypeSymbol)compiler.resolveIdent(className);
- if (sym.kind != Kinds.TYP) {
- if (className.indexOf('$') < 0) {
- System.err.println("Ignoring (other) " + className + " : " + sym);
- System.err.println(" " + sym.getClass().getSimpleName() + " " + sym.type);
- }
- continue;
- }
- sym.complete();
- if (sym.getEnclosingElement().getKind() != ElementKind.PACKAGE) {
- System.err.println("Ignoring (bad) " + sym.getQualifiedName());
- }
- if (false) {
- /*
- * Following eliminates non-public classes from output,
- * but is too aggressive because it also eliminates
- * non-public superclasses of public classes, which
- * makes the output unusable.
- */
- if (sym.owner.kind == Kinds.PCK &&
- (sym.flags() & Flags.AccessFlags) == Flags.PUBLIC) {
- cs = (ClassSymbol) sym;
- writeClass(pool, cs, writer);
- cs = null;
- }
- } else {
- cs = (ClassSymbol) sym;
- writeClass(pool, cs, writer);
- cs = null;
- }
- }
- } catch (IOException ex) {
- reportError(ex, cs);
- } catch (CompletionFailure ex) {
- reportError(ex, cs);
- } catch (RuntimeException ex) {
- reportError(ex, cs);
- }
- if (false) {
- for (String pckName : crisp)
- System.out.println("Crisp: " + pckName);
- for (String pckName : hiddenPackages)
- System.out.println("Hidden: " + pckName);
- for (String pckName : legacyProprietary)
- System.out.println("Legacy proprietary: " + pckName);
- for (String pckName : documented)
- System.out.println("Documented: " + pckName);
- }
-
- return true;
- }
-
- void reportError(Throwable ex, Element element) {
- if (element != null)
- processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR,
- ex.getLocalizedMessage(),
- element);
- else
- processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR,
- ex.getLocalizedMessage());
- }
-
- void writeClass(final Pool pool, final ClassSymbol cs, final ClassWriter writer) {
- try {
- pool.reset();
- cs.pool = pool;
- writer.writeClass(cs);
- for (Scope.Entry e = cs.members().elems; e != null; e = e.sibling) {
- if (e.sym.kind == Kinds.TYP) {
- ClassSymbol nestedClass = (ClassSymbol)e.sym;
- nestedClass.complete();
- writeClass(pool, nestedClass, writer);
- }
- }
- } catch (ClassWriter.StringOverflow ex) {
- throw new RuntimeException(ex);
- } catch (ClassWriter.PoolOverflow ex) {
- throw new RuntimeException(ex);
- } catch (IOException ex) {
- throw new RuntimeException(ex);
- }
- }
-
- public SourceVersion getSupportedSourceVersion() {
- return SourceVersion.latest();
- }
+// static Set<String> getLegacyPackages() {
+// return Collections.emptySet();
+// }
+//
+// @Override
+// public boolean process(Set<? extends TypeElement> tes, RoundEnvironment renv) {
+// if (!renv.processingOver())
+// return true;
+//
+// Set<String> legacy = getLegacyPackages();
+// Set<String> legacyProprietary = getLegacyPackages();
+// Set<String> documented = new HashSet<String>();
+// Set<PackageSymbol> packages =
+// ((JavacProcessingEnvironment)processingEnv).getSpecifiedPackages();
+// String jarName = processingEnv.getOptions().get("com.sun.tools.javac.sym.Jar");
+// if (jarName == null)
+// throw new RuntimeException("Must use -Acom.sun.tools.javac.sym.Jar=LOCATION_OF_JAR");
+// String extraApiClassPath = processingEnv.getOptions().get("com.sun.tools.javac.sym.ExtraApiClassPath");
+// if (extraApiClassPath == null)
+// throw new RuntimeException("Must use -Acom.sun.tools.javac.sym.ExtraApiClassPath=extra api class path");
+// String destName = processingEnv.getOptions().get("com.sun.tools.javac.sym.Dest");
+// if (destName == null)
+// throw new RuntimeException("Must use -Acom.sun.tools.javac.sym.Dest=LOCATION_OF_JAR");
+//
+// for (PackageSymbol psym : packages) {
+// String name = psym.getQualifiedName().toString();
+// legacyProprietary.remove(name);
+// documented.add(name);
+// }
+//
+// JavaCompiler tool = ToolProvider.getSystemJavaCompiler();
+// StandardJavaFileManager fm = tool.getStandardFileManager(null, null, null);
+// Location jarLocation = StandardLocation.locationFor(jarName);
+// File jarFile = new File(jarName);
+// String [] segments = extraApiClassPath.split(File.pathSeparator);
+// java.util.List<File> extraClassPathSegments = new ArrayList<File>(segments.length);
+// for (String cur : segments) {
+// extraClassPathSegments.add(new File(cur));
+// }
+// File ExtraApiClassPathFile = new File(extraApiClassPath);
+// try {
+// fm.setLocation(jarLocation, List.of(jarFile));
+// fm.setLocation(StandardLocation.CLASS_PATH, List.<File>nil());
+// fm.setLocation(StandardLocation.SOURCE_PATH, List.<File>nil());
+// {
+// ArrayList<File> bootClassPath = new ArrayList<File>();
+// bootClassPath.add(jarFile);
+// for (File cur : extraClassPathSegments) {
+// bootClassPath.add(cur);
+// }
+// // ADD EXTRA DEPENDENCIES HERE:
+// for (File path : fm.getLocation(StandardLocation.PLATFORM_CLASS_PATH)) {
+// // if (!new File(path.getName()).equals(new File("rt.jar")))
+// bootClassPath.add(path);
+// }
+// System.err.println("Using boot class path = " + bootClassPath);
+// fm.setLocation(StandardLocation.PLATFORM_CLASS_PATH, bootClassPath);
+// }
+// // System.out.println(fm.getLocation(StandardLocation.PLATFORM_CLASS_PATH));
+// File destDir = new File(destName);
+// if (!destDir.exists())
+// if (!destDir.mkdirs())
+// throw new RuntimeException("Could not create " + destDir);
+// fm.setLocation(StandardLocation.CLASS_OUTPUT, List.of(destDir));
+// } catch (IOException ioe) {
+// System.err.println("Unable to set location");
+// return false;
+// }
+// Set<String> hiddenPackages = new HashSet<String>();
+// Set<String> crisp = new HashSet<String>();
+// List<String> options = List.of("-XDdev");
+// // options = options.prepend("-doe");
+// // options = options.prepend("-verbose");
+// JavacTaskImpl task = (JavacTaskImpl)
+// tool.getTask(null, fm, null, options, null, null);
+// com.sun.tools.javac.main.JavaCompiler compiler = com.sun.tools.javac.main.JavaCompiler.instance(task.getContext());
+// ClassReader reader = ClassReader.instance(task.getContext());
+// ClassWriter writer = ClassWriter.instance(task.getContext());
+// Type.moreInfo = true;
+// Pool pool = new Pool(Types.instance(task.getContext()));
+// ClassSymbol cs = null;
+// try {
+// for (JavaFileObject file : fm.list(jarLocation, "", EnumSet.of(CLASS), true)) {
+// String className = fm.inferBinaryName(jarLocation, file);
+// int index = className.lastIndexOf('.');
+// String pckName = index == -1 ? "" : className.substring(0, index);
+// if (documented.contains(pckName)) {
+// if (!legacy.contains(pckName))
+// crisp.add(pckName);
+// // System.out.println("Documented: " + className);
+// } else if (legacyProprietary.contains(pckName)) {
+// // System.out.println("Legacy proprietary: " + className);
+// } else {
+// // System.out.println("Hidden " + className);
+// hiddenPackages.add(pckName);
+// continue;
+// }
+// // PackageSymbol psym = reader.enterPackage(names.fromString(pckName));
+// // psym.complete();
+// TypeSymbol sym = (TypeSymbol)compiler.resolveIdent(className);
+// if (sym.kind != Kinds.TYP) {
+// if (className.indexOf('$') < 0) {
+// System.err.println("Ignoring (other) " + className + " : " + sym);
+// System.err.println(" " + sym.getClass().getSimpleName() + " " + sym.type);
+// }
+// continue;
+// }
+// sym.complete();
+// if (sym.getEnclosingElement().getKind() != ElementKind.PACKAGE) {
+// System.err.println("Ignoring (bad) " + sym.getQualifiedName());
+// }
+// if (false) {
+// /*
+// * Following eliminates non-public classes from output,
+// * but is too aggressive because it also eliminates
+// * non-public superclasses of public classes, which
+// * makes the output unusable.
+// */
+// if (sym.owner.kind == Kinds.PCK &&
+// (sym.flags() & Flags.AccessFlags) == Flags.PUBLIC) {
+// cs = (ClassSymbol) sym;
+// writeClass(pool, cs, writer);
+// cs = null;
+// }
+// } else {
+// cs = (ClassSymbol) sym;
+// writeClass(pool, cs, writer);
+// cs = null;
+// }
+// }
+// } catch (IOException ex) {
+// reportError(ex, cs);
+// } catch (CompletionFailure ex) {
+// reportError(ex, cs);
+// } catch (RuntimeException ex) {
+// reportError(ex, cs);
+// }
+// if (false) {
+// for (String pckName : crisp)
+// System.out.println("Crisp: " + pckName);
+// for (String pckName : hiddenPackages)
+// System.out.println("Hidden: " + pckName);
+// for (String pckName : legacyProprietary)
+// System.out.println("Legacy proprietary: " + pckName);
+// for (String pckName : documented)
+// System.out.println("Documented: " + pckName);
+// }
+//
+// return true;
+// }
+//
+// void reportError(Throwable ex, Element element) {
+// if (element != null)
+// processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR,
+// ex.getLocalizedMessage(),
+// element);
+// else
+// processingEnv.getMessager().printMessage(Diagnostic.Kind.ERROR,
+// ex.getLocalizedMessage());
+// }
+//
+// void writeClass(final Pool pool, final ClassSymbol cs, final ClassWriter writer) {
+// try {
+// pool.reset();
+// cs.pool = pool;
+// writer.writeClass(cs);
+// for (Scope.Entry e = cs.members().elems; e != null; e = e.sibling) {
+// if (e.sym.kind == Kinds.TYP) {
+// ClassSymbol nestedClass = (ClassSymbol)e.sym;
+// nestedClass.complete();
+// writeClass(pool, nestedClass, writer);
+// }
+// }
+// } catch (ClassWriter.StringOverflow ex) {
+// throw new RuntimeException(ex);
+// } catch (ClassWriter.PoolOverflow ex) {
+// throw new RuntimeException(ex);
+// } catch (IOException ex) {
+// throw new RuntimeException(ex);
+// }
+// }
+//
+// public SourceVersion getSupportedSourceVersion() {
+// return SourceVersion.latest();
+// }
}
--
2.23.0

View File

@ -0,0 +1,36 @@
diff -Nru mojarra-2.2.13/jsf-ri/build-pre-maven-rename.xml mojarra-2.2.13.injection-providers/jsf-ri/build-pre-maven-rename.xml
--- mojarra-2.2.13/jsf-ri/build-pre-maven-rename.xml 2016-09-29 09:23:42.387167612 +0200
+++ mojarra-2.2.13.injection-providers/jsf-ri/build-pre-maven-rename.xml 2016-09-29 09:20:39.000000000 +0200
@@ -378,8 +378,6 @@
toDir="${build.classes.dir}/com/sun/faces"/>
<copy file="conf/xslt/facelets1_0-2_0toSchema.xsl"
toDir="${build.classes.dir}/com/sun/faces"/>
- <unzip src="${jsf.build.home}/lib/injectionproviders.jar"
- dest="${build.classes.dir}"/>
<copy todir="${build.classes.dir}/META-INF">
<fileset dir="${conf.share.dir}">
<include name="jsf_core.tld"/>
diff -Nru mojarra-2.2.13/jsf-ri/build-source.xml mojarra-2.2.13.injection-providers/jsf-ri/build-source.xml
--- mojarra-2.2.13/jsf-ri/build-source.xml 2016-09-29 09:23:42.683153090 +0200
+++ mojarra-2.2.13.injection-providers/jsf-ri/build-source.xml 2016-09-29 09:21:00.000000000 +0200
@@ -344,8 +344,6 @@
toDir="${build.classes.dir}/com/sun/faces"/>
<copy file="conf/xslt/facelets1_0-2_0toSchema.xsl"
toDir="${build.classes.dir}/com/sun/faces"/>
- <unzip src="${jsf.build.home}/lib/injectionproviders.jar"
- dest="${build.classes.dir}"/>
<copy todir="${build.classes.dir}/META-INF">
<fileset dir="${conf.share.dir}">
<include name="jsf_core.tld"/>
diff -Nru mojarra-2.2.13/jsf-ri/build.xml mojarra-2.2.13.injection-providers/jsf-ri/build.xml
--- mojarra-2.2.13/jsf-ri/build.xml 2016-09-29 09:23:42.684153041 +0200
+++ mojarra-2.2.13.injection-providers/jsf-ri/build.xml 2016-09-29 09:21:31.000000000 +0200
@@ -378,8 +378,6 @@
toDir="${build.classes.dir}/com/sun/faces"/>
<copy file="conf/xslt/facelets1_0-2_0toSchema.xsl"
toDir="${build.classes.dir}/com/sun/faces"/>
- <unzip src="${jsf.build.home}/lib/injectionproviders.jar"
- dest="${build.classes.dir}"/>
<unzip src="${jsf-api-intermediate.jar}"
dest="${build.classes.dir}">
<patternset>

View File

@ -0,0 +1,16 @@
diff -Nru mojarra-2.2.13/jsf-ri/build.xml mojarra-2.2.13.bundle-api/jsf-ri/build.xml
--- mojarra-2.2.13/jsf-ri/build.xml 2016-09-29 09:29:56.517808536 +0200
+++ mojarra-2.2.13.bundle-api/jsf-ri/build.xml 2016-09-29 09:30:44.978430372 +0200
@@ -378,12 +378,6 @@
toDir="${build.classes.dir}/com/sun/faces"/>
<copy file="conf/xslt/facelets1_0-2_0toSchema.xsl"
toDir="${build.classes.dir}/com/sun/faces"/>
- <unzip src="${jsf-api-intermediate.jar}"
- dest="${build.classes.dir}">
- <patternset>
- <exclude name="META-INF/MANIFEST.MF" />
- </patternset>
- </unzip>
<copy todir="${build.classes.dir}/META-INF">
<fileset dir="${conf.share.dir}">
<include name="jsf_core.tld"/>

View File

@ -0,0 +1,555 @@
diff -Nru mojarra-2.2.13/common/ant/dependencies.xml mojarra-2.2.13.dont-download-dependencies/common/ant/dependencies.xml
--- mojarra-2.2.13/common/ant/dependencies.xml 2016-02-04 03:54:54.000000000 +0100
+++ mojarra-2.2.13.dont-download-dependencies/common/ant/dependencies.xml 2016-09-29 21:59:38.981803483 +0200
@@ -159,551 +159,6 @@
<target name="update" description="Download project dependencies">
-
- <if>
- <not>
- <isset property="build.source"/>
- </not>
- <then>
- <mkdir dir="${dependency.base.dir}/downloads"/>
- <mkdir dir="${dependency.jar.dir}"/>
- </then>
- </if>
-
- <!-- setup the proxy if necessary -->
- <if>
- <and>
- <length string="${http.proxy.host}" when="greater" length="0"/>
- <length string="${http.proxy.port}" when="greater" length="0"/>
- </and>
- <then>
- <setproxy proxyhost="${http.proxy.host}"
- proxyport="${http.proxy.port}"/>
- </then>
- </if>
-
- <!-- GLASSFISH ANT JAR -->
- <if>
- <not>
- <available file="${gf-ant.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${central.maven2}/org/glassfish/ant-tasks/${gf-ant.version}/ant-tasks-${gf-ant.version}.jar"
- dest="${gf-ant.jar}"
- usetimestamp="true"/>
- </then>
- </if>
-
- <!-- JUNIT -->
- <if>
- <and>
- <not>
- <available file="${junit.jar}" property="ignored"/>
- </not>
- <not>
- <isset property="build.source"/>
- </not>
- </and>
- <then>
- <get src="${central.maven2}/junit/junit/${junit.version}/junit-${junit.version}.jar"
- dest="${junit.jar}"
- usetimestamp="true"/>
- </then>
- </if>
-
- <!-- HTMLUNIT -->
- <!--
- This one needs a ton of extras, so we have to do this one like this or
- add a bunch more deps. Maybe another day... :)
- -->
- <if>
- <and>
- <not>
- <available file="${htmlunit.home}" property="ignored"/>
- </not>
- <not>
- <isset property="build.source"/>
- </not>
- </and>
- <then>
- <get src="http://downloads.sourceforge.net/htmlunit/htmlunit-${htmlunit.version}.zip"
- dest="${dependency.base.dir}/downloads/htmlunit-${htmlunit.version}.zip"
- usetimestamp="true"/>
- <unzip
- src="${dependency.base.dir}/downloads/htmlunit-${htmlunit.version}.zip"
- dest="${dependency.base.dir}"/>
- </then>
- </if>
-
- <!-- XS3P -->
- <if>
- <and>
- <not>
- <available file="${xs3p.home}" property="ignored"/>
- </not>
- <not>
- <isset property="build.source"/>
- </not>
- </and>
- <then>
- <get src="http://downloads.sourceforge.net/project/xs3p/xs3p-${xs3p.version}.zip"
- dest="${dependency.base.dir}/downloads/xs3p-${xs3p.version}.zip"
- usetimestamp="true"/>
- <mkdir dir="${xs3p.home}" />
- <unzip
- src="${dependency.base.dir}/downloads/xs3p-${xs3p.version}.zip"
- dest="${xs3p.home}"/>
- </then>
- </if>
-
- <if>
- <and>
- <not>
- <os family="windows"/>
- </not>
- <not>
- <isset property="build.source"/>
- </not>
- </and>
- <then>
- <patch patchfile="${jsf.build.home}/common/ant/bin/xs3p-disable-output-escaping.patch"
- originalfile="${xs3p.home}/xs3p.xsl" failonerror="false"
- dir="${xs3p.home}"/>
- </then>
- </if>
-
- <!-- YUI Compressor -->
- <if>
- <and>
- <not>
- <available file="${yuicompressor.jar}" property="ignored"/>
- </not>
- <not>
- <isset property="build.source"/>
- </not>
- </and>
- <then>
- <get src="https://github.com/yui/yuicompressor/releases/download/v${yuicompressor.version}/yuicompressor-${yuicompressor.version}.zip"
- dest="${dependency.base.dir}/downloads/yuicompressor-${yuicompressor.version}.zip"
- usetimestamp="true"/>
- <unzip
- src="${dependency.base.dir}/downloads/yuicompressor-${yuicompressor.version}.zip"
- dest="${dependency.base.dir}"/>
- <copy tofile="${yuicompressor.jar}"
- file="${dependency.base.dir}/yuicompressor-${yuicompressor.version}.jar"/>
- </then>
- </if>
-
- <!-- CACTUS -->
- <!-- Is this not in a maven repo somewhere? -->
- <if>
- <and>
- <not>
- <available file="${cactus.home}" property="ignored"/>
- </not>
- <not>
- <isset property="build.source"/>
- </not>
- </and>
- <then>
- <get src="http://archive.apache.org/dist/jakarta/cactus/binaries/jakarta-cactus-${cactus.version}.zip"
- dest="${dependency.base.dir}/downloads/jakarta-cactus-${cactus.version}.zip"
- usetimestamp="true"/>
- <unzip
- src="${dependency.base.dir}/downloads/jakarta-cactus-${cactus.version}.zip"
- dest="${dependency.base.dir}"/>
- </then>
- </if>
-
- <!-- TAGLIBDOC -->
- <if>
- <and>
- <not>
- <available file="${tlddoc.jar}" property="ignored"/>
- </not>
- <not>
- <isset property="build.source"/>
- </not>
- </and>
- <then>
- <get src="${central.maven2}/taglibrarydoc/tlddoc/${taglibdoc.version}/tlddoc-${taglibdoc.version}.jar"
- dest="${tlddoc.jar}"
- usetimestamp="true"/>
-
- </then>
- </if>
-
- <!-- VDLDOC -->
- <if>
- <and>
- <not>
- <available file="${vdldoc.jar}" property="ignored"/>
- </not>
- <not>
- <isset property="build.source"/>
- </not>
- </and>
- <then>
- <get src="http://vdldoc.googlecode.com/files/vdldoc-${vdldoc.version}.jar"
- dest="${vdldoc.jar}"
- usetimestamp="true"/>
-
- </then>
- </if>
-
-
- <!-- JSDOC -->
- <if>
- <and>
- <not>
- <available file="${jsdoc.home}" property="ignored"/>
- </not>
- <not>
- <isset property="build.source"/>
- </not>
- </and>
- <then>
- <get src="http://jsdoc-toolkit.googlecode.com/files/jsdoc_toolkit-${jsdoc.version}.zip"
- dest="${dependency.base.dir}/downloads/jsdoc_toolkit-${jsdoc.version}.zip"
- usetimestamp="true"/>
- <unzip
- src="${dependency.base.dir}/downloads/jsdoc_toolkit-${jsdoc.version}.zip"
- dest="${dependency.base.dir}"/>
- </then>
- </if>
-
-
- <!-- MAVEN REPOSITORY IMPORTER -->
- <if>
- <and>
- <not>
- <available file="${maven.repository.importer.jar}" property="ignored"/>
- </not>
- <not>
- <isset property="build.source"/>
- </not>
- </and>
- <then>
- <get src="${central.maven2}/com/sun/wts/tools/mri/maven-repository-importer/${maven.repository.importer.version}/maven-repository-importer-${maven.repository.importer.version}.jar"
- dest="${maven.repository.importer.jar}"
- usetimestamp="true"/>
-
- </then>
- </if>
-
- <!-- JAVAEE API -->
- <if>
- <not>
- <available file="${javaee-api.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${central.maven2}/javax/javaee-api/${javaee-api.version}/javaee-api-${javaee-api.version}.jar"
- dest="${javaee-api.jar}"
- usetimestamp="true"/>
-
- </then>
- </if>
- <!-- CDI API -->
- <if>
- <not>
- <available file="${cdi-api.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${central.maven2}/javax/enterprise/cdi-api/${cdi-api.version}/cdi-api-${cdi-api.version}.jar"
- dest="${cdi-api.jar}"
- usetimestamp="true"/>
-
- </then>
- </if>
-
-
- <!-- SERVLET API -->
- <if>
- <not>
- <available file="${servlet.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${central.maven2}/javax/servlet/servlet-api/${servlet.api.version}/servlet-api-${servlet.api.version}.jar"
- dest="${servlet.jar}"
- usetimestamp="true"/>
-
- </then>
- </if>
-
- <if>
- <not>
- <available file="${servlet3.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${central.maven2}/org/mortbay/jetty/servlet-api/3.0.20100224/servlet-api-3.0.20100224.jar"
- dest="${servlet3.jar}"
- usetimestamp="true"/>
-
- </then>
- </if>
-
-
- <!-- JSP API -->
- <!--
- <if>
- <not>
- <available file="${jsp.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${java.net.maven}/javax.servlet.jsp/jars/jsp-api-${jsp.api.version}.jar"
- dest="${jsp.jar}"
- usetimestamp="true"/>
-
- </then>
- </if>
- -->
- <!-- EL API and IMPL -->
- <!--
- <if>
- <not>
- <available file="${el-api.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${java.net.maven}/javax.el/jars/el-api-${el.version}.jar"
- dest="${el-api.jar}"
- usetimestamp="true"/>
-
- </then>
- </if>
- <if>
- <not>
- <available file="${el-impl.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${java.net.maven}/el-impl/jars/el-impl-${el.version}.jar"
- dest="${el-impl.jar}"
- usetimestamp="true"/>
-
- </then>
- </if>
- -->
- <!-- JSTL API -->
- <if>
- <not>
- <available file="${jstl.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${central.maven2}/jstl/jstl/${jstl.api.version}/jstl-${jstl.api.version}.jar"
- dest="${jstl.jar}"
- usetimestamp="true"/>
-
- </then>
- </if>
- <!-- ANNOTATION API -->
- <!--
- <if>
- <not>
- <available file="${annotation.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${java.net.maven}/javax.annotation/jars/jsr250-api-${annotation.api.version}.jar"
- dest="${annotation.jar}"
- usetimestamp="true"/>
-
- </then>
- </if>
- -->
- <!-- Portlet -->
- <!--
- <if>
- <not>
- <available file="${portlet.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${maven2.mirror}/javax/portlet/portlet-api/${portlet.api.version}/portlet-api-${portlet.api.version}.jar"
- dest="${portlet.jar}"
- usetimestamp="true"/>
- </then>
- </if>
- -->
- <!-- Groovy -->
- <if>
- <not>
- <available file="${groovy.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${central.maven2}/org/codehaus/groovy/groovy-all/${groovy.version}/groovy-all-${groovy.version}.jar"
- dest="${groovy.jar}"
- usetimestamp="true"/>
- </then>
- </if>
-
- <!-- JSR 330 -->
- <if>
- <not>
- <available file="${javax-inject.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${central.maven2}/javax/inject/javax.inject/${javax-inject.version}/javax.inject-${javax-inject.version}.jar"
- dest="${javax-inject.jar}"
- usetimestamp="true"/>
- </then>
- </if>
- <!-- JSR 299 -->
- <if>
- <not>
- <available file="${javax-enterprise.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${central.maven2}/javax/enterprise/cdi-api/${javax-enterprise.version}/cdi-api-${javax-enterprise.version}.jar"
- dest="${javax-enterprise.jar}"
- usetimestamp="true"/>
- </then>
- </if>
- <!-- JSR 303 -->
- <!--
- <if>
- <not>
- <available file="${validation-api.jar}" property="ignored"/>
- </not>
- <then>
- <get src="${redhat.maven2}/javax/validation/validation-api/${validation.version}/validation-api-${validation.version}.jar"
- dest="${validation-api.jar}"
- usetimestamp="true"/>
- </then>
- </if>
- -->
- <!-- buid commons from source -->
-
- <!-- comment out source build download of sun commons
-
- <echo>starting commons and build.source ${build.source}</echo>
- <if>
- <equals arg1="${build.source}" arg2="true"/>
- <then>
- <echo>build from source</echo>
- <mkdir dir="${external.dir}"/>
-
- <exec executable="svn" dir="${external.dir}" failonerror="true">
- <arg line="checkout"/>
- <arg line="${commons.logging.url}"/>
- <arg line="commons-logging"/>
- </exec>
-
- <exec executable="svn" dir="${external.dir}" failonerror="true">
- <arg line="checkout"/>
- <arg line="${commons.collections.url}"/>
- <arg line="commons-collections"/>
- </exec>
-
- <exec executable="svn" dir="${external.dir}" failonerror="true">
- <arg line="checkout"/>
- <arg line="${commons.beanutils.url}"/>
- <arg line="commons-beanutils"/>
- </exec>
-
- <exec executable="svn" dir="${external.dir}" failonerror="true">
- <arg line="checkout"/>
- <arg line="${commons.digester.url}"/>
- <arg line="commons-digester"/>
- </exec>
-
- <ant antfile="${external.dir}/commons-logging/build.xml"
- target="dist"
- dir="${external.dir}/commons-logging"
- inheritAll="false" />
-
- <ant antfile="${external.dir}/commons-collections/build.xml"
- target="dist"
- dir="${external.dir}/commons-collections"
- inheritAll="false">
- <property name="ant.build.javac.source" value="1.4"/>
- </ant>
-
- <ant antfile="${external.dir}/commons-beanutils/build.xml"
- target="dist"
- dir="${external.dir}/commons-beanutils"
- inheritAll="false">
- <property name="commons-collections.home"
- value="${external.dir}/commons-collections/dist"/>
- <property name="commons-collections.jar" value="${external.dir}/commons-collections/dist/commons-collections.jar"/>
- <property name="commons-logging.home" value="${external.dir}/commons-logging/dist"/>
- <property name="commons-logging.jar" value="${external.dir}/commons-logging/dist/commons-logging.jar"/>
- </ant>
-
- <ant antfile="${external.dir}/commons-digester/build.xml"
- target="dist"
- dir="${external.dir}/commons-digester"
- inheritAll="false">
- <property name="commons-collections.home"
- value="${external.dir}/commons-collections/dist"/>
- <property name="commons-collections.jar" value="${external.dir}/commons-collections/dist/commons-collections.jar"/>
- <property name="commons-logging.home" value="${external.dir}/commons-logging/dist"/>
- <property name="commons-logging.jar" value="${external.dir}/commons-logging/dist/commons-logging.jar"/>
- <property name="commons-beanutils.home" value="${external.dir}/commons-beanutils/dist"/>
- <property name="commons-beanutils.jar" value="${external.dir}/commons-beanutils/dist/commons-beanutils.jar"/>
- </ant>
- <copy file="${external.dir}/commons-logging/dist/commons-logging.jar" tofile="${commons.logging.jar}"/>
- <copy file="${external.dir}/commons-collections/dist/commons-collections.jar" tofile="${commons.collections.jar}"/>
- <copy file="${external.dir}/commons-beanutils/dist/commons-beanutils.jar" tofile="${commons.beanutils.jar}"/>
- <copy file="${external.dir}/commons-digester/dist/commons-digester.jar" tofile="${commons.digester.jar}"/>
-
- </then>
- <else>
- -->
-
- <!-- BEANUTILS -->
- <!--
- <if>
- <not>
- <available file="${commons-beanutils.jar}" property="ignored"/>
- </not>
- <then>
- <echo> get beanutils</echo>
- <get src="http://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/${beanutils.version}/commons-beanutils-${beanutils.version}.jar"
- dest="${commons-beanutils.jar}"
- usetimestamp="true"/>
- </then>
- </if>
- -->
- <!-- DIGESTER -->
- <!--
- <if>
- <not>
- <available file="${commons-digester.jar}" property="ignored"/>
- </not>
- <then>
- <get src="http://repo1.maven.org/maven2/commons-digester/commons-digester/${digester.version}/commons-digester-${digester.version}.jar"
- dest="${commons-digester.jar}"
- usetimestamp="true"/>
- </then>
- </if>
- -->
- <!-- COLLECTIONS -->
- <!--
- <if>
- <not>
- <available file="${commons-collections.jar}" property="ignored"/>
- </not>
- <then>
- <get src="http://repo1.maven.org/maven2/commons-collections/commons-collections/${collections.version}/commons-collections-${collections.version}.jar"
- dest="${commons-collections.jar}"
- usetimestamp="true"/>
- </then>
- </if>
- -->
- <!-- LOGGING_API -->
- <!--
- <if>
- <not>
- <available file="${commons-logging.jar}" property="ignored"/>
- </not>
- <then>
- <get src="http://repo1.maven.org/maven2/commons-logging/commons-logging/${logging.version}/commons-logging-${logging.version}.jar"
- dest="${commons-logging.jar}"
- usetimestamp="true"/>
- </then>
- </if>
- -->
- <!-- comment out source build of sun commons
- </else>
- </if>
- -->
</target>

View File

@ -0,0 +1,113 @@
diff -Nru mojarra-2.2.13/common/ant/dependencies.xml mojarra-2.2.13.yuicompressor/common/ant/dependencies.xml
--- mojarra-2.2.13/common/ant/dependencies.xml 2016-09-29 09:11:08.759142705 +0200
+++ mojarra-2.2.13.yuicompressor/common/ant/dependencies.xml 2016-09-29 09:12:48.618243338 +0200
@@ -82,7 +82,6 @@
<property name="javax-inject.version" value="1"/>
<property name="javax-enterprise.version" value="1.1"/>
<property name="maven.repository.importer.version" value="1.2"/>
- <property name="yuicompressor.version" value="2.4.8"/>
<property name="central.maven2" value="http://repo1.maven.org/maven2" />
<property name="redhat.maven2" value="https://repository.jboss.org/nexus/content/repositories/thirdparty-releases"/>
@@ -110,14 +109,12 @@
<property name="jsp.home" value="${dependency.base.dir}/jsp-${jsp.api.version}"/>
<property name="jstl.home" value="${dependency.base.dir}/jstl-${jstl.api.version}"/>
<property name="annotation.home" value="${dependency.base.dir}/annotation-${annotation.api.version}"/>
- <property name="yuicompressor.home" value="${dependency.base.dir}/yuicompressor-${yuicompressor.version}"/>
<property name="junit.jar" value="${dependency.jar.dir}/junit-${junit.version}.jar"/>
<property name="htmlunit.jar" value="${dependency.jar.dir}/htmlunit-${htmlunit.version}.jar"/>
<property name="commons-beanutils.jar" value="${dependency.jar.dir}/commons-beanutils-${beanutils.version}.jar"/>
<property name="commons-digester.jar" value="${dependency.jar.dir}/commons-digester-${digester.version}.jar"/>
<property name="commons-collections.jar" value="${dependency.jar.dir}/commons-collections-${collections.version}.jar"/>
<property name="commons-logging.jar" value="${dependency.jar.dir}/commons-logging-${logging.version}.jar"/>
- <property name="yuicompressor.jar" value="${dependency.jar.dir}/yuicompressor.jar"/>
<property name="tlddoc.jar" value="${dependency.jar.dir}/tlddoc-${taglibdoc.version}.jar"/>
<property name="vdldoc.jar" value="${dependency.jar.dir}/vdldoc-${vdldoc.version}.jar"/>
<property name="jsdoc.jar" value="${dependency.jar.dir}/jsdoc-${jsdoc.version}.jar"/>
diff -Nru mojarra-2.2.13/jsf-ri/build-pre-maven-rename.xml mojarra-2.2.13.yuicompressor/jsf-ri/build-pre-maven-rename.xml
--- mojarra-2.2.13/jsf-ri/build-pre-maven-rename.xml 2016-02-04 03:54:54.000000000 +0100
+++ mojarra-2.2.13.yuicompressor/jsf-ri/build-pre-maven-rename.xml 2016-09-29 09:14:50.341271267 +0200
@@ -87,7 +87,6 @@
<property name="dependency.base.dir" value="${jsf.build.home}/dependencies"/>
<property name="dependency.jar.dir" value="${dependency.base.dir}/jars"/>
- <property name="yuicompressor.jar" value="${dependency.jar.dir}/yuicompressor.jar"/>
<property name="build.javadocs.dir" value="${build.dir}/javadocs"/>
<property name="javadoc.private" value="true"/>
<property name="javadoc.protected" value="false"/>
@@ -344,7 +343,7 @@
</fileset>
</copy>
- <concat destfile="${build.classes.dir}/META-INF/resources/javax.faces/jsf-uncompressed.js" fixlastline="yes">
+ <concat destfile="${build.classes.dir}/META-INF/resources/javax.faces/jsf.js" fixlastline="yes">
<filelist dir="${api.dir}/src/main/resources">
<file name="jsf.js"/>
</filelist>
@@ -353,8 +352,6 @@
</filelist>
</concat>
- <java jar="${yuicompressor.jar}" fork="true" failonerror="true"
- args="-o ${build.classes.dir}/META-INF/resources/javax.faces/jsf.js ${build.classes.dir}/META-INF/resources/javax.faces/jsf-uncompressed.js"/>
<!--
RELEASE_PENDING (rlubke,driscoll)
For now these are copied to the root of the jsf-impl.jar, but
diff -Nru mojarra-2.2.13/jsf-ri/build-source.xml mojarra-2.2.13.yuicompressor/jsf-ri/build-source.xml
--- mojarra-2.2.13/jsf-ri/build-source.xml 2016-02-04 03:54:54.000000000 +0100
+++ mojarra-2.2.13.yuicompressor/jsf-ri/build-source.xml 2016-09-29 09:16:01.881761291 +0200
@@ -83,7 +83,6 @@
<property name="dependency.base.dir" value="${jsf.build.home}/dependencies"/>
<property name="dependency.jar.dir" value="${dependency.base.dir}/jars"/>
- <property name="yuicompressor.jar" value="${dependency.jar.dir}/yuicompressor.jar"/>
<path id="impl.compile.classpath">
<pathelement location="${jsf-api-intermediate.jar}"/>
@@ -310,7 +309,7 @@
</fileset>
</copy>
- <concat destfile="${build.classes.dir}/META-INF/resources/javax.faces/jsf-uncompressed.js" fixlastline="yes">
+ <concat destfile="${build.classes.dir}/META-INF/resources/javax.faces/jsf.js" fixlastline="yes">
<filelist dir="${api.dir}/src/main/resources">
<file name="jsf.js"/>
</filelist>
@@ -319,8 +318,6 @@
</filelist>
</concat>
- <java jar="${yuicompressor.jar}" fork="true" failonerror="true"
- args="-o ${build.classes.dir}/META-INF/resources/javax.faces/jsf.js ${build.classes.dir}/META-INF/resources/javax.faces/jsf-uncompressed.js"/>
<!--
RELEASE_PENDING (rlubke,driscoll)
For now these are copied to the root of the javax.faces.jar, but
diff -Nru mojarra-2.2.13/jsf-ri/build.xml mojarra-2.2.13.yuicompressor/jsf-ri/build.xml
--- mojarra-2.2.13/jsf-ri/build.xml 2016-02-04 03:54:54.000000000 +0100
+++ mojarra-2.2.13.yuicompressor/jsf-ri/build.xml 2016-09-29 09:17:35.514167424 +0200
@@ -84,7 +84,6 @@
<property name="dependency.base.dir" value="${jsf.build.home}/dependencies"/>
<property name="dependency.jar.dir" value="${dependency.base.dir}/jars"/>
- <property name="yuicompressor.jar" value="${dependency.jar.dir}/yuicompressor.jar"/>
<property name="build.javadocs.dir" value="${build.dir}/javadocs"/>
<property name="javadoc.private" value="true"/>
<property name="javadoc.protected" value="false"/>
@@ -340,7 +339,7 @@
</fileset>
</copy>
- <concat destfile="${build.classes.dir}/META-INF/resources/javax.faces/jsf-uncompressed.js" fixlastline="yes">
+ <concat destfile="${build.classes.dir}/META-INF/resources/javax.faces/jsf.js" fixlastline="yes">
<filelist dir="${api.dir}/src/main/resources">
<file name="jsf.js"/>
</filelist>
@@ -349,8 +348,6 @@
</filelist>
</concat>
- <java jar="${yuicompressor.jar}" fork="true" failonerror="true"
- args="-o ${build.classes.dir}/META-INF/resources/javax.faces/jsf.js ${build.classes.dir}/META-INF/resources/javax.faces/jsf-uncompressed.js"/>
<!--
RELEASE_PENDING (rlubke,driscoll)
For now these are copied to the root of the javax.faces.jar, but

View File

@ -0,0 +1,86 @@
diff -Nru mojarra-2.2.13/common/ant/common.xml mojarra-2.2.13.classpaths/common/ant/common.xml
--- mojarra-2.2.13/common/ant/common.xml 2016-09-30 17:49:29.842439616 +0200
+++ mojarra-2.2.13.classpaths/common/ant/common.xml 2016-09-30 17:46:12.146778795 +0200
@@ -55,7 +55,8 @@
<taskdef resource="aQute/bnd/ant/taskdef.properties">
<classpath>
<pathelement
- location="${jsf.build.home}/common/lib/bnd-0.0.249.jar"/>
+ location="${jsf.build.home}/common/lib/bnd.jar"/>
+ <pathelement location="${jsf.build.home}/common/lib/bndlib.jar"/>
</classpath>
</taskdef>
@@ -121,7 +122,7 @@
<!-- this is hard coded to match the values in ${basedir}/jsf-tools/pom.xml -->
<property name="jsf-tools.jar"
- value="${maven.repo.local}/com/sun/faces/build/jsf-tools/${impl.version.number}/jsf-tools-${impl.version.number}.jar" />
+ value="${jsf.build.home}/jsf-tools/target/jsf-tools-${impl.version.number}.jar" />
<!-- Test classpaths that are used in multiple places within the project -->
<path id="junit.classpath">
@@ -159,11 +160,11 @@
</path>
<path id="compile.classpath">
- <path refid="compile.path"/>
+ <fileset dir="${jsf.build.home}/lib/compile"/>
</path>
<path id="cdi.classpath">
- <path refid="cdi.path"/>
+ <fileset dir="${jsf.build.home}/lib/compile"/>
</path>
@@ -173,7 +174,7 @@
</path>
<path id="apache.commons.classpath">
- <path refid="commons.path"/>
+ <fileset dir="${jsf.build.home}/lib"/>
</path>
<!-- HtmlUnit client classpath -->
@@ -190,8 +191,8 @@
<attribute name="destdir"/>
<attribute name="includes" default=""/>
<attribute name="excludes" default=""/>
- <attribute name="source" default="1.5"/>
- <attribute name="target" default="1.5"/>
+ <attribute name="source" default="1.6"/>
+ <attribute name="target" default="1.6"/>
<element name="classpath" implicit="true" optional="yes"/>
<sequential>
<javac srcdir="@{srcdir}"
diff -Nru mojarra-2.2.13/jsf-api/build.xml mojarra-2.2.13.classpaths/jsf-api/build.xml
--- mojarra-2.2.13/jsf-api/build.xml 2016-02-04 03:54:54.000000000 +0100
+++ mojarra-2.2.13.classpaths/jsf-api/build.xml 2016-09-30 17:47:31.236299243 +0200
@@ -86,7 +86,7 @@
<pathelement location="${jsf-tools.jar}"/>
<pathelement location="${tools.dir}/build/classes"/>
<path refid="apache.commons.classpath"/>
- <path refid="api-compile.classpath"/>
+ <path refid="compile.classpath"/>
<path refid="junit.classpath"/>
</path>
@@ -158,7 +158,7 @@
<jsf.javac destdir="${build.classes.dir}"
srcdir="${src.dir}:${build.generate.dir}">
<classpath>
- <path refid="api-compile.classpath"/>
+ <path refid="compile.classpath"/>
</classpath>
</jsf.javac>
</target>
@@ -805,7 +805,7 @@
<fileset dir="${build.generate.dir}">
<include name="**/*.java"/>
</fileset>
- <classpath refid="api-compile.classpath"/>
+ <classpath refid="compile.classpath"/>
</javadoc>
<javadoc packagenames="javax.*"

View File

@ -0,0 +1,119 @@
diff -Nru mojarra-2.2.13/common/ant/common.xml mojarra-2.2.13.maven-ant-tasks/common/ant/common.xml
--- mojarra-2.2.13/common/ant/common.xml 2016-09-29 08:39:15.720999801 +0200
+++ mojarra-2.2.13.maven-ant-tasks/common/ant/common.xml 2016-09-29 08:38:11.810135385 +0200
@@ -41,7 +41,7 @@
-->
-<project name="JSF Common" basedir="." xmlns:artifact="antlib:org.apache.maven.artifact.ant">
+<project name="JSF Common" basedir=".">
<import file="${jsf.build.home}/common/ant/dependencies.xml"/>
<import file="${jsf.build.home}/common/ant/test-app.xml"/>
@@ -59,12 +59,6 @@
</classpath>
</taskdef>
- <path id="maven-ant-tasks.classpath" path="${jsf.build.home}/common/lib/maven-ant-tasks-2.1.3.jar" />
- <typedef resource="org/apache/maven/artifact/ant/antlib.xml"
- uri="antlib:org.apache.maven.artifact.ant"
- classpathref="maven-ant-tasks.classpath" />
-
-
<!-- Setup the time properties for use with the project -->
<tstamp/>
@@ -123,93 +117,6 @@
<!-- Debug args (OVERRIDE IN BUILD.PROPERTIES) -->
<property name="debug.jvm.args" value=""/>
- <!-- TODO remove this once maven stuff is complete, it's just here for reference.
-
- <target name="mvn-init" unless="compile.classpath" xmlns:artifact="urn:maven-artifact-ant">
- <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant"
- classpath="lib/maven-ant-tasks-2.0.9.jar"/>
- <condition property="maven.repo.local" value="${maven.repo.local}" else="${user.home}/.m2/repository">
- <isset property="maven.repo.local"/>
- </condition>
- <echo>maven.repo.local=${maven.repo.local}</echo>
- <artifact:localRepository id="local.repository" path="${maven.repo.local}"/>
- <artifact:pom file="pom.xml" id="maven.project"/>
- <artifact:dependencies pathId="compile.classpath" filesetId="compile.fileset" useScope="compile">
- <pom refid="maven.project"/>
- <localRepository refid="local.repository"/>
- </artifact:dependencies>
- <artifact:dependencies pathId="test.classpath" filesetId="test.fileset" useScope="test">
- <pom refid="maven.project"/>
- <localRepository refid="local.repository"/>
- </artifact:dependencies>
- <artifact:dependencies pathId="runtime.classpath" filesetId="runtime.fileset" useScope="runtime">
- <pom refid="maven.project"/>
- <localRepository refid="local.repository"/>
- </artifact:dependencies>
- </target>
-
- -->
- <condition property="maven.repo.local" value="${maven.repo.local}" else="${user.home}/.m2/repository">
- <isset property="maven.repo.local"/>
- </condition>
-
- <artifact:localRepository id="local.repository" path="${maven.repo.local}"/>
-
- <artifact:remoteRepository id="j.n.repo" url="https://maven.java.net/content/repositories/releases/"/>
- <artifact:remoteRepository id="j.n.repo.snapshot" url="https://maven.java.net/content/repositories/snapshots/"/>
- <artifact:remoteRepository id="ibiblio.repo" url="http://mirrors.ibiblio.org/pub/mirrors/maven2/"/>
-
- <artifact:dependencies filesetId="compile.filepath" pathId="compile.path">
- <dependency groupId="javax.el" artifactId="javax.el-api" version="2.2.1" scope="provided"/>
- <dependency groupId="javax.servlet" artifactId="javax.servlet-api" version="3.0.1" scope="provided"/>
- <dependency groupId="javax.servlet.jsp" artifactId="javax.servlet.jsp-api" version="2.2.1" scope="provided"/>
- <dependency groupId="javax.annotation" artifactId="jsr250-api" version="1.0" scope="provided"/>
- <dependency groupId="org.codehaus.groovy" artifactId="groovy-all" version="1.6.9" scope="provided"/>
- <dependency groupId="javax.validation" artifactId="validation-api" version="1.0.0.GA" scope="provided"/>
- <dependency groupId="javax.inject" artifactId="javax.inject" version="1" scope="provided"/>
- <dependency groupId="javax.servlet.jsp.jstl" artifactId="jstl-api" version="1.2" scope="provided" />
- <dependency groupId="javax" artifactId="javaee-web-api" version="6.0" scope="provided"/>
- <dependency groupId="com.sun.el" artifactId="el-ri" version="1.0" scope="provided"/>
- <localRepository refid="local.repository"/>
- <remoteRepository refid="j.n.repo"/>
- <remoteRepository refid="j.n.repo.snapshot"/>
- </artifact:dependencies>
-
- <artifact:dependencies filesetId="cdi.filepath" pathId="cdi.path">
- <dependency groupId="javax.enterprise" artifactId="cdi-api" version="1.1" scope="provided"/>
- <localRepository refid="local.repository"/>
- <remoteRepository refid="ibiblio.repo"/>
- </artifact:dependencies>
-
- <artifact:dependencies filesetId="jsf-spi.filepath" pathId="jsf-spi.path">
- <dependency groupId="com.sun.faces" artifactId="jsf-spi" version="1.0" scope="provided"/>
- <localRepository refid="local.repository"/>
- <remoteRepository refid="j.n.repo"/>
- <remoteRepository refid="j.n.repo.snapshot"/>
- </artifact:dependencies>
-
- <artifact:dependencies filesetId="commons.filepath" pathId="commons.path">
- <dependency groupId="commons-collections" artifactId="commons-collections" version="2.1.1"/>
- <dependency groupId="commons-digester" artifactId="commons-digester" version="1.5"/>
- <dependency groupId="commons-beanutils" artifactId="commons-beanutils" version="1.6.1"/>
- <dependency groupId="commons-logging" artifactId="commons-logging" version="1.0.4"/>
- <localRepository refid="local.repository"/>
- <remoteRepository refid="j.n.repo"/>
- <remoteRepository refid="j.n.repo.snapshot"/>
- </artifact:dependencies>
-
- <artifact:dependencies filesetId="servlet25test.filepath" pathId="servlet25test.path">
- <dependency groupId="javax.el" artifactId="el-api" version="1.0" scope="provided"/>
- <dependency groupId="javax.servlet" artifactId="servlet-api" version="2.5"/>
- <dependency groupId="javax.servlet.jsp" artifactId="jsp-api" version="2.1" scope="provided"/>
- <dependency groupId="javax.servlet.jsp.jstl" artifactId="jstl-api" version="1.2" scope="provided"/>
- <dependency groupId="javax.annotation" artifactId="jsr250-api" version="1.0" scope="provided"/>
- <localRepository refid="local.repository"/>
- <remoteRepository refid="j.n.repo"/>
- <remoteRepository refid="j.n.repo.snapshot"/>
- </artifact:dependencies>
-
-
<!-- Intra-project dependency property names -->
<!-- this is hard coded to match the values in ${basedir}/jsf-tools/pom.xml -->

50
mojarra-2.2.13-jdk7.patch Normal file
View File

@ -0,0 +1,50 @@
diff -Nru mojarra-2.2.13/jsf-tools/pom.xml mojarra-2.2.13.jdk7/jsf-tools/pom.xml
--- mojarra-2.2.13/jsf-tools/pom.xml 2016-02-04 03:54:54.000000000 +0100
+++ mojarra-2.2.13.jdk7/jsf-tools/pom.xml 2016-09-29 08:58:51.942292347 +0200
@@ -102,7 +102,7 @@
<activation>
<property>
<name>java.vendor</name>
- <value>Sun Microsystems Inc.</value>
+ <value>Oracle Corporation</value>
</property>
</activation>
<dependencies>
@@ -110,8 +110,6 @@
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.6.0</version>
- <scope>system</scope>
- <systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
@@ -125,8 +123,6 @@
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.7.0</version>
- <scope>system</scope>
- <systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
diff -Nru mojarra-2.2.13/jsf-tools/src/main/java/com/sun/faces/tools/StripClassesForApiJar.java mojarra-2.2.13.jdk7/jsf-tools/src/main/java/com/sun/faces/tools/StripClassesForApiJar.java
--- mojarra-2.2.13/jsf-tools/src/main/java/com/sun/faces/tools/StripClassesForApiJar.java 2016-02-04 03:54:54.000000000 +0100
+++ mojarra-2.2.13.jdk7/jsf-tools/src/main/java/com/sun/faces/tools/StripClassesForApiJar.java 2016-09-29 09:01:16.748187939 +0200
@@ -49,6 +49,7 @@
import com.sun.tools.javac.code.Symbol.*;
import com.sun.tools.javac.code.Flags;
import com.sun.tools.javac.code.Type;
+import com.sun.tools.javac.code.Types;
import com.sun.tools.javac.jvm.ClassReader;
import com.sun.tools.javac.jvm.ClassWriter;
import com.sun.tools.javac.jvm.Pool;
@@ -182,7 +183,7 @@
ClassReader reader = ClassReader.instance(task.getContext());
ClassWriter writer = ClassWriter.instance(task.getContext());
Type.moreInfo = true;
- Pool pool = new Pool();
+ Pool pool = new Pool(Types.instance(task.getContext()));
ClassSymbol cs = null;
try {
for (JavaFileObject file : fm.list(jarLocation, "", EnumSet.of(CLASS), true)) {

View File

@ -0,0 +1,47 @@
diff -Nru mojarra-2.2.13/build.xml mojarra-2.2.13.installer-builder/build.xml
--- mojarra-2.2.13/build.xml 2016-02-04 03:54:54.000000000 +0100
+++ mojarra-2.2.13.installer-builder/build.xml 2016-09-29 08:33:44.348257553 +0200
@@ -554,11 +554,6 @@
<zip destfile="${basedir}/mojarra-samples.zip"
basedir="${basedir}/samples"/>
<delete dir="samples"/>
-
- <installerBuilder
- classFile="${dist.dir}/mojarra-samples.class"
- licenseFile="${LICENSEFILE}"
- zipFile="${basedir}/mojarra-samples.zip"/>
</target>
<target name="updatecenter2" depends="main">
diff -Nru mojarra-2.2.13/common/ant/common.xml mojarra-2.2.13.installer-builder/common/ant/common.xml
--- mojarra-2.2.13/common/ant/common.xml 2016-02-04 03:54:54.000000000 +0100
+++ mojarra-2.2.13.installer-builder/common/ant/common.xml 2016-09-29 08:32:30.083898981 +0200
@@ -59,12 +59,6 @@
</classpath>
</taskdef>
- <taskdef name="installerBuilder" classname="org.jvnet.poormans_installer.builder.BuilderTask">
- <classpath>
- <pathelement location="${jsf.build.home}/common/lib/installer-builder.jar"/>
- <pathelement location="${jsf.build.home}/common/lib/sfx4j-1.0.jar"/>
- </classpath>
- </taskdef>
<path id="maven-ant-tasks.classpath" path="${jsf.build.home}/common/lib/maven-ant-tasks-2.1.3.jar" />
<typedef resource="org/apache/maven/artifact/ant/antlib.xml"
uri="antlib:org.apache.maven.artifact.ant"
diff -Nru mojarra-2.2.13/common/ant/source-build-setup.xml mojarra-2.2.13.installer-builder/common/ant/source-build-setup.xml
--- mojarra-2.2.13/common/ant/source-build-setup.xml 2016-02-04 03:54:54.000000000 +0100
+++ mojarra-2.2.13.installer-builder/common/ant/source-build-setup.xml 2016-09-29 08:32:37.780521627 +0200
@@ -59,12 +59,6 @@
</classpath>
</taskdef>
- <taskdef name="installerBuilder" classname="org.jvnet.poormans_installer.builder.BuilderTask">
- <classpath>
- <pathelement location="${jsf.build.home}/common/lib/installer-builder.jar"/>
- <pathelement location="${jsf.build.home}/common/lib/sfx4j-1.0.jar"/>
- </classpath>
- </taskdef>
<path id="maven-ant-tasks.classpath" path="${jsf.build.home}/common/lib/maven-ant-tasks-2.1.3.jar" />
<typedef resource="org/apache/maven/artifact/ant/antlib.xml"
uri="antlib:org.apache.maven.artifact.ant"

BIN
mojarra-2.2.13.tar.gz Normal file

Binary file not shown.

View File

@ -0,0 +1,42 @@
From 681afa7bf8d77aac809595e0bfcf79a9e9ef71a0 Mon Sep 17 00:00:00 2001
From: Juan Hernandez <juan.hernandez@redhat.com>
Date: Tue, 24 Jul 2012 19:10:59 +0200
Subject: [PATCH] Don't use namespace-alias in merge-config.xsl
The build process uses a stylesheet named "merge-config.xsl" to
merge the content of different XML files and it uses the
"namespace-alias" element in the following way:
<xsl:namespace-alias stylesheet-prefix="jsf" result-prefix="#default"/>
This generates the following error during the build:
create.runtime.config:
[xslt] Processing /home/jhernand/rpmbuild/BUILD/mojarra-2.1.7/jsf-api/doc/standard-html-renderkit.xml to /home/jhernand/rpmbuild/BUILD/mojarra-2.1.7/jsf-ri/merged.xml
[xslt] Loading stylesheet /home/jhernand/rpmbuild/BUILD/mojarra-2.1.7/jsf-ri/conf/xslt/merge-config.xsl
[xslt] /home/jhernand/rpmbuild/BUILD/mojarra-2.1.7/jsf-ri/conf/xslt/merge-config.xsl:50:76: Error! The result-prefix attribute of an xsl:namespace-alias element has the value '#default', but there is no declaration of the default namespace in scope for the element
[xslt] /home/jhernand/rpmbuild/BUILD/mojarra-2.1.7/jsf-ri/conf/xslt/merge-config.xsl:0:0: Fatal Error! java.lang.NullPointerException Cause: java.lang.NullPointerException
[xslt] Failed to process /home/jhernand/rpmbuild/BUILD/mojarra-2.1.7/jsf-api/doc/standard-html-renderkit.xml
The only way I find to avoid this is to remove the
"namespace-alias" element. As far as I can tell the content of the
"jsf-ri-runtime.xml" file is not affected.
---
jsf-ri/conf/xslt/merge-config.xsl | 1 -
1 file changed, 1 deletion(-)
diff --git a/jsf-ri/conf/xslt/merge-config.xsl b/jsf-ri/conf/xslt/merge-config.xsl
index 32b6bb2..5a2c397 100644
--- a/jsf-ri/conf/xslt/merge-config.xsl
+++ b/jsf-ri/conf/xslt/merge-config.xsl
@@ -47,7 +47,6 @@
<xsl:output method="xml" indent="yes"/>
<xsl:strip-space elements="*"/>
- <xsl:namespace-alias stylesheet-prefix="jsf" result-prefix="#default"/>
<xsl:variable name="source" select="document('../../resources/jsf-ri-config.xml')"/>
--
1.7.10.4

35
mojarra-servlet-3.1.patch Normal file
View File

@ -0,0 +1,35 @@
diff --git a/jsf-ri/src/main/java/com/sun/faces/application/ByteArrayWebOutputStream.java b/jsf-ri/src/main/java/com/sun/faces/application/ByteArrayWebOutputStream.java
index 87c83f6..0dd687d 100644
--- a/jsf-ri/src/main/java/com/sun/faces/application/ByteArrayWebOutputStream.java
+++ b/jsf-ri/src/main/java/com/sun/faces/application/ByteArrayWebOutputStream.java
@@ -43,6 +43,7 @@ package com.sun.faces.application;
import com.sun.faces.util.FacesLogger;
import javax.servlet.ServletOutputStream;
+import javax.servlet.WriteListener;
import javax.faces.FacesException;
import java.io.Writer;
import java.io.IOException;
@@ -275,6 +276,22 @@ class ByteArrayWebOutputStream extends ServletOutputStream {
public void println(double v) throws IOException {
// no-op
}
+
+ public void setWriteListener(WriteListener listener) {
+ // no-op
+ }
+
+ public boolean isReady() {
+ return true;
+ }
+ }
+
+ public void setWriteListener(WriteListener listener) {
+ // no-op
+ }
+
+ public boolean isReady() {
+ return true;
}
}

147
mojarra.spec Normal file
View File

@ -0,0 +1,147 @@
Name: mojarra
Version: 2.2.13
Release: 1
Summary: JSF Reference Implementation
License: CDDL or GPLv2 with exceptions
URL: http://javaserverfaces.java.net
Source0: https://github.com/javaserverfaces/mojarra/archive/%{version}/mojarra-%{version}.tar.gz
Source1: http://repo1.maven.org/maven2/com/sun/faces/jsf-api/%{version}/jsf-api-%{version}.pom
Source2: http://repo1.maven.org/maven2/com/sun/faces/jsf-impl/%{version}/jsf-impl-%{version}.pom
Patch0: mojarra-2.2.13-remove-installer-builder.patch
Patch1: mojarra-2.2.13-fix-maven-ant-tasks-classpath.patch
Patch2: mojarra-2.2.13-dont-download-dependencies.patch
Patch3: mojarra-2.2.13-jdk7.patch
Patch4: mojarra-2.2.13-fix-classpaths.patch
Patch5: mojarra-2.2.13-dont-use-yuicompressor.patch
Patch6: mojarra-2.2.13-dont-build-injection-providers.patch
Patch7: mojarra-2.2.13-dont-bundle-api.patch
Patch8: mojarra-dont-use-namespace-alias.patch
Patch9: mojarra-servlet-3.1.patch
Patch10: mojarra-2.2.13-disable-references-to-com.sun.faces.spi.InjectionProvider.patch
Patch11: mojarra-2.2.13-disabling-stripping-API-jars.patch
BuildArch: noarch
BuildRequires: ant ant-contrib apache-commons-digester aqute-bnd atinject cdi-api
BuildRequires: bean-validation-api glassfish-annotation-api glassfish-ejb-api glassfish-el-api
BuildRequires: glassfish-jsp-api glassfish-servlet-api groovy hibernate-jpa-2.1-api java-devel
BuildRequires: jboss-jstl-1.2-api maven-install-plugin maven-local
Requires: apache-commons-digester atinject bean-validation-api cdi-api
Requires: glassfish-annotation-api glassfish-ejb-api glassfish-el-api glassfish-jsp-api
Requires: glassfish-servlet-api hibernate-jpa-2.1-api jboss-jstl-1.2-api
%description
JvaServer(TM) Faces technology simplifies building user interfaces for
JavaServer applications. Developers of various skill levels can quickly build
web applications by: assembling reusable UI components in a page; connecting
these components to an application data source; and wiring client-generated
events to server-side event handlers.
%package javadoc
Summary: Javadoc for mojarra
%description javadoc
This package contains the API documentation for mojarra.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
sed -i "s|-f @{pomFile}|-o -f @{pomFile}|" common/ant/maven.xml common/ant/maven-pre-maven-rename.xml
find . -name '*.class' -print -delete
find . -name '*.jar' -print -delete
mv LICENSE LICENSE.tmp
iconv -f ISO-8859-1 -t UTF-8 LICENSE.tmp > LICENSE
native2ascii -encoding UTF8 jsf-api/src/main/java/javax/faces/component/UIComponent.java \
jsf-api/src/main/java/javax/faces/component/UIComponent.java
%pom_change_dep :ant org.apache.ant: jsf-tools
cp -p %{SOURCE1} jsf-api.pom
cp -p %{SOURCE2} jsf-impl.pom
for a in jsf-api.pom jsf-impl.pom; do
%pom_change_dep javax.servlet.jsp.jstl:jstl-api org.jboss.spec.javax.servlet.jstl:jboss-jstl-api_1.2_spec:1.0.3.Final ${a}
done
%build
mkdir -p lib
names='
apache-commons-collections
apache-commons-digester
apache-commons-beanutils
apache-commons-logging
'
for name in ${names}
do
ln -s `build-classpath ${name}` lib/$(basename ${name}).jar
done
mkdir -p lib/compile
names='
atinject
bean-validation-api
cdi-api
glassfish-annotation-api
glassfish-ejb-api
glassfish-el-api
glassfish-jsp-api
glassfish-servlet-api
groovy/groovy-all
hibernate-jpa-2.1-api
jboss-jstl-1.2-api
'
for name in ${names}
do
ln -s `build-classpath ${name}` lib/compile/$(basename ${name}).jar
done
mkdir -p common/lib
ln -s `build-classpath aqute-bnd/biz.aQute.bnd` common/lib/bnd.jar
ln -s `build-classpath aqute-bnd/biz.aQute.bndlib` common/lib/bndlib.jar
ant \
-Dbuild.sysclasspath=last \
-Djsf.build.home=$PWD \
-Dcontainer.name=tomcat7 \
-Dmvn.cmd=xmvn
ant \
-Dbuild.sysclasspath=last \
-Djsf.build.home=$PWD \
-Dcontainer.name=tomcat7 \
-f jsf-api/build.xml \
javadocs
ant \
-Dbuild.sysclasspath=last \
-Djsf.build.home=$PWD \
-Dcontainer.name=tomcat7 \
-f jsf-ri/build.xml \
javadocs
%mvn_artifact jsf-api.pom jsf-api/build/lib/jsf-api-intermediate.jar
%mvn_artifact jsf-impl.pom jsf-ri/build/lib/javax.faces.jar
%mvn_alias com.sun.faces:jsf-api javax.faces:javax.faces-api
%mvn_alias com.sun.faces:jsf-impl org.glassfish:javax.faces
%install
%mvn_install
install -d -m 755 %{buildroot}%{_javadocdir}/mojarra/jsf-api
cp -rp jsf-api/build/javadocs/* %{buildroot}%{_javadocdir}/mojarra/jsf-api/.
install -d -m 755 %{buildroot}%{_javadocdir}/mojarra/jsf-impl
cp -rp jsf-ri/build/javadocs/* %{buildroot}%{_javadocdir}/mojarra/jsf-impl/.
%files -f .mfiles
%license LICENSE
%doc docs/index.html
%doc docs/releasenotes.html
%doc docs/community.html
%doc docs/jsf-2_1-changelog.html
%files javadoc
%{_javadocdir}/mojarra
%license LICENSE
%changelog
* Fri Sep 11 2020 huanghaitao <huanghaitao8@huawei.com> - 2.2.13-1
- package init

4
mojarra.yaml Normal file
View File

@ -0,0 +1,4 @@
version_control: github
src_repo: javaserverfaces/mojarra
tag_prefix: ""
seperator: "."