tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ma...@apache.org
Subject svn commit: r999941 - in /tomcat/tc6.0.x/trunk: ./ java/org/apache/catalina/startup/ java/org/apache/jasper/compiler/ res/ res/META-INF/ res/maven/ webapps/docs/
Date Wed, 22 Sep 2010 13:43:54 GMT
Author: markt
Date: Wed Sep 22 13:43:53 2010
New Revision: 999941

URL: http://svn.apache.org/viewvc?rev=999941&view=rev
Log:
Switch to using the Eclipse compiler JAR directly rather than creating it from the larger
JDT download.

Removed:
    tomcat/tc6.0.x/trunk/res/META-INF/jasper-jdt.jar.license
    tomcat/tc6.0.x/trunk/res/META-INF/jasper-jdt.jar.notice
    tomcat/tc6.0.x/trunk/res/maven/jasper-jdt.pom
Modified:
    tomcat/tc6.0.x/trunk/LICENSE
    tomcat/tc6.0.x/trunk/RELEASE-NOTES
    tomcat/tc6.0.x/trunk/STATUS.txt
    tomcat/tc6.0.x/trunk/build.properties.default
    tomcat/tc6.0.x/trunk/build.xml
    tomcat/tc6.0.x/trunk/dist.xml
    tomcat/tc6.0.x/trunk/eclipse.classpath
    tomcat/tc6.0.x/trunk/extras.xml
    tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java
    tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java
    tomcat/tc6.0.x/trunk/res/INSTALLLICENSE
    tomcat/tc6.0.x/trunk/res/License.rtf
    tomcat/tc6.0.x/trunk/res/maven/jasper.pom
    tomcat/tc6.0.x/trunk/res/maven/mvn-pub.xml
    tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
    tomcat/tc6.0.x/trunk/webapps/docs/class-loader-howto.xml
    tomcat/tc6.0.x/trunk/webapps/docs/jasper-howto.xml

Modified: tomcat/tc6.0.x/trunk/LICENSE
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/LICENSE?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/LICENSE (original)
+++ tomcat/tc6.0.x/trunk/LICENSE Wed Sep 22 13:43:53 2010
@@ -210,7 +210,7 @@ and license terms. Your use of these sub
 conditions of the following licenses. 
 
 
-For the jasper-jdt.jar component:
+For the Eclipse JDT Java compiler:
 
 Eclipse Public License - v 1.0
 

Modified: tomcat/tc6.0.x/trunk/RELEASE-NOTES
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/RELEASE-NOTES?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/RELEASE-NOTES (original)
+++ tomcat/tc6.0.x/trunk/RELEASE-NOTES Wed Sep 22 13:43:53 2010
@@ -88,7 +88,7 @@ for use by web applications (by placing 
 * el-api.jar (EL 2.1 API)
 * jasper.jar (Jasper 2 Compiler and Runtime)
 * jasper-el.jar (Jasper 2 EL implementation)
-* jasper-jdt.jar (Eclipse JDT 3.3 Java compiler)
+* ecj-@JDT_VERSION@.jar (Eclipse JDT Java compiler)
 * jsp-api.jar (JSP 2.1 API)
 * servlet-api.jar (Servlet 2.5 API)
 * tomcat-coyote.jar (Tomcat connectors and utility classes)

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Sep 22 13:43:53 2010
@@ -155,19 +155,6 @@ PATCHES PROPOSED TO BACKPORT:
   +1: kkolinko, markt, kfujino
   -1:
 
-* Switch to using ecj.jar directly (smaller download, simpler build, same
-  result)
-  http://people.apache.org/~markt/patches/2010-08-23-ecj-tc6.patch
-  http://svn.apache.org/viewvc?rev=987896&view=rev
-  +1: markt, rjung, kkolinko
-  -1:
-   kkolinko: Regarding the comment added to  build.properties.default:
-     When changing JDT version, updating TldConfig.java and TldLocationsCache.java
-     is a must, but the following files also mention the JDT version number:
-      - res/maven/jasper.pom
-      - eclipse.classpath
-
-
 * Allow off-line building of the extras packages. Also saves downloading deps
   every build
   http://people.apache.org/~markt/patches/2010-08-23-offline-extras-tc6.patch

Modified: tomcat/tc6.0.x/trunk/build.properties.default
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/build.properties.default?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/build.properties.default (original)
+++ tomcat/tc6.0.x/trunk/build.properties.default Wed Sep 22 13:43:53 2010
@@ -56,10 +56,19 @@ jaxrpc-src.loc=http://repo1.maven.org/ma
 wsdl4j-src.loc=http://repo1.maven.org/maven2/wsdl4j/wsdl4j/1.6.1/wsdl4j-1.6.1.jar
 
 # ----- Eclipse JDT, version 3.2 or later -----
-jdt.home=${base.path}/eclipse/plugins
-jdt.lib=${jdt.home}
-jdt.jar=${jdt.lib}/org.eclipse.jdt.core_3.3.1.v_780_R33x.jar
-jdt.loc=http://archive.eclipse.org/eclipse/downloads/drops/R-3.3.1-200709211145/eclipse-JDT-3.3.1.zip
+# When updating this, also need to update:
+# - noTldJars in o.a.c.startup.TldConfig
+# - noTldJars in o.a.j.compiler.TldLocationsCache
+# - res/maven/jasper.pom
+# - eclipse.classpath
+jdt.version=3.3.1
+jdt.release=R-3.3.1-200709211145
+jdt.home=${base.path}/ecj-${jdt.version}
+jdt.jar=${jdt.home}/ecj-${jdt.version}.jar
+# The download will be moved to the archive area eventually. We are taking care of that in
advance.
+# Note older JARs were called ecj.jar. Newer JARs are called ecj-${jdt.version}.jar
+jdt.loc.1=http://archive.eclipse.org/eclipse/downloads/drops/${jdt.release}/ecj.jar
+jdt.loc.2=http://download.eclipse.org/eclipse/downloads/drops/${jdt.release}/ecj.jar
 
 # ----- Tomcat native library -----
 tomcat-native.version=1.1.20

Modified: tomcat/tc6.0.x/trunk/build.xml
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/build.xml?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/build.xml (original)
+++ tomcat/tc6.0.x/trunk/build.xml Wed Sep 22 13:43:53 2010
@@ -90,9 +90,7 @@
   <property name="jasper-el.jar" value="${tomcat.build}/lib/jasper-el.jar"/>
 
   <property name="tomcat-dbcp.home" value="${base.path}/tomcat${version.major}-deps/dbcp"
/>
-  <property name="jasper-jdt.home" value="${base.path}/tomcat${version.major}-deps/jdt"
/>
   <property name="tomcat-dbcp.jar" value="${tomcat-dbcp.home}/tomcat-dbcp.jar"/>
-  <property name="jasper-jdt.jar" value="${jasper-jdt.home}/jasper-jdt.jar"/>
   <available property="tomcat-dbcp.present" file="${tomcat-dbcp.jar}" />
   <available property="jdk16.present" classname="javax.sql.StatementEvent" />
 
@@ -114,6 +112,7 @@
     <filter token="VERSION_MAJOR" value="${version.major}"/>
     <filter token="VERSION_MAJOR_MINOR" value="${version.major.minor}"/>
     <filter token="VERSION_BUILT" value="${TODAY} ${TSTAMP}"/>
+    <filter token="JDT_VERSION" value="${jdt.version}"/>
   </filterset>
 
   <!-- Just build Tomcat -->
@@ -632,14 +631,13 @@
 
     <copy file="${tomcat-dbcp.jar}" todir="${tomcat.build}/lib"
       failonerror="false"/>
-    <copy file="${jasper-jdt.jar}" todir="${tomcat.build}/lib" />
+    <copy file="${jdt.jar}" todir="${tomcat.build}/lib" />
 
   </target>
 
   <target name="clean-depend"
           description="Clean depend src components">
      <delete dir="${tomcat-dbcp.home}"/>
-     <delete dir="${jasper-jdt.home}"/>
   </target>
 
   <target name="clean">
@@ -692,6 +690,38 @@
     <get src="${sourcefile}" dest="${destfile}" />
   </target>
 
+  <target name="downloadfile-2" unless="exist" depends="testexist">
+    <!-- Download the file from the two alternative locations -->
+    <mkdir dir="${destdir}" />
+
+    <antcall target="trydownload">
+      <param name="sourcefile" value="${sourcefile.1}" />
+    </antcall>
+
+    <antcall target="trydownload">
+      <param name="sourcefile" value="${sourcefile.2}" />
+    </antcall>
+
+    <available file="${destfile}" property="exist"/>
+    <fail unless="exist" message="Failed to download [${destfile}]. All download sources
are unavailable." />
+  </target>
+
+  <target name="trydownload.check" depends="setproxy">
+    <condition property="trydownload.run">
+      <and>
+        <not>
+          <available file="${destfile}" />
+        </not>
+        <http url="${sourcefile}" />
+      </and>
+    </condition>
+  </target>
+
+  <target name="trydownload" if="trydownload.run" depends="trydownload.check">
+    <!-- Downloads a file if not yet downloaded and the source URL is available -->
+    <get src="${sourcefile}" dest="${destfile}" />
+  </target>
+
   <target name="download"
           description="Download (and build as necessary) dependent components"
           depends="build-manifests">
@@ -752,15 +782,12 @@
       <param name="basedir" value="${tomcat-dbcp.home}" />
     </antcall>
 
-    <!-- Build Jasper JDT bundle -->
-    <antcall target="downloadzip">
-      <param name="sourcefile" value="${jdt.loc}"/>
+    <!-- Download JDT (Eclipse compiler) -->
+    <antcall target="downloadfile-2">
+      <param name="sourcefile.1" value="${jdt.loc.1}"/>
+      <param name="sourcefile.2" value="${jdt.loc.2}"/>
       <param name="destfile" value="${jdt.jar}"/>
-      <param name="destdir" value="${base.path}"/>
-    </antcall>
-    <mkdir dir="${jasper-jdt.home}"/>
-    <antcall target="build-jasper-jdt">
-      <param name="basedir" value="${jasper-jdt.home}" />
+      <param name="destdir" value="${jdt.home}"/>
     </antcall>
 
     <antcall target="downloadzip">
@@ -824,20 +851,4 @@
     </jar>
   </target>
 
-  <target name="build-jasper-jdt" depends="build-manifests">
-    <unjar src="${jdt.jar}" dest="${jasper-jdt.home}" />
-    <jar destfile="${jasper-jdt.jar}"
-         manifest="${tomcat.manifests}/default.manifest">
-      <fileset dir="${jasper-jdt.home}">
-        <include name="org/eclipse/jdt/core/compiler/**"/>
-        <include name="org/eclipse/jdt/internal/compiler/**"/>
-        <include name="org/eclipse/jdt/internal/core/util/CommentRecorder*"/>
-      </fileset>
-      <zipfileset file="${tomcat.manifests}/jasper-jdt.jar.notice"
-        fullpath="META-INF/NOTICE" />
-      <zipfileset file="${tomcat.manifests}/jasper-jdt.jar.license"
-        fullpath="META-INF/LICENSE" />
-    </jar>
-  </target>
-
 </project>

Modified: tomcat/tc6.0.x/trunk/dist.xml
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/dist.xml?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/dist.xml (original)
+++ tomcat/tc6.0.x/trunk/dist.xml Wed Sep 22 13:43:53 2010
@@ -84,9 +84,7 @@
   <property name="jasper-el.jar" value="${tomcat.build}/lib/jasper-el.jar"/>
 
   <property name="tomcat-dbcp.home" value="${base.path}/tomcat${version.major}-deps/dbcp"
/>
-  <property name="jasper-jdt.home" value="${base.path}/tomcat${version.major}-deps/jdt"
/>
   <property name="tomcat-dbcp.jar" value="${tomcat-dbcp.home}/tomcat-dbcp.jar"/>
-  <property name="jasper-jdt.jar" value="${jasper-jdt.home}/jasper-jdt.jar"/>
 
   <!-- Version info filter set -->
   <filterset id="version.filters">

Modified: tomcat/tc6.0.x/trunk/eclipse.classpath
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/eclipse.classpath?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/eclipse.classpath (original)
+++ tomcat/tc6.0.x/trunk/eclipse.classpath Wed Sep 22 13:43:53 2010
@@ -20,7 +20,7 @@
 	<classpathentry kind="src" path="test"/>
 	<classpathentry kind="src" path="webapps/examples/WEB-INF/classes"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="var" path="TOMCAT_LIBS_BASE/eclipse/plugins/org.eclipse.jdt.core_3.3.1.v_780_R33x.jar"/>
+	<classpathentry kind="var" path="TOMCAT_LIBS_BASE/ecj-3.3.1/ecj-3.3.1.jar"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
 	<classpathentry kind="var" path="ANT_HOME/lib/ant.jar"/>
 	<classpathentry kind="output" path=".settings/output"/>

Modified: tomcat/tc6.0.x/trunk/extras.xml
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/extras.xml?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/extras.xml (original)
+++ tomcat/tc6.0.x/trunk/extras.xml Wed Sep 22 13:43:53 2010
@@ -85,9 +85,7 @@
   <property name="jasper-el.jar" value="${tomcat.build}/lib/jasper-el.jar"/>
 
   <property name="tomcat-dbcp.home" value="${base.path}/tomcat${version.major}-deps/dbcp"
/>
-  <property name="jasper-jdt.home" value="${base.path}/tomcat${version.major}-deps/jdt"
/>
   <property name="tomcat-dbcp.jar" value="${tomcat-dbcp.home}/tomcat-dbcp.jar"/>
-  <property name="jasper-jdt.jar" value="${jasper-jdt.home}/jasper-jdt.jar"/>
 
   <property name="tomcat-juli.jar" value="${tomcat.extras}/tomcat-juli.jar"/>
   <property name="tomcat-juli-adapters.jar" value="${tomcat.extras}/tomcat-juli-adapters.jar"/>

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java Wed Sep 22 13:43:53
2010
@@ -86,7 +86,7 @@ public final class TldConfig  implements
         noTldJars.add("el-api.jar");
         noTldJars.add("jasper.jar");
         noTldJars.add("jasper-el.jar");
-        noTldJars.add("jasper-jdt.jar");
+        noTldJars.add("ecj-3.3.1.jar");
         noTldJars.add("jsp-api.jar");
         noTldJars.add("servlet-api.jar");
         noTldJars.add("tomcat-coyote.jar");

Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java Wed Sep 22
13:43:53 2010
@@ -128,7 +128,7 @@ public class TldLocationsCache {
         noTldJars.add("el-api.jar");
         noTldJars.add("jasper.jar");
         noTldJars.add("jasper-el.jar");
-        noTldJars.add("jasper-jdt.jar");
+        noTldJars.add("ecj-3.3.1.jar");
         noTldJars.add("jsp-api.jar");
         noTldJars.add("servlet-api.jar");
         noTldJars.add("tomcat-coyote.jar");

Modified: tomcat/tc6.0.x/trunk/res/INSTALLLICENSE
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/res/INSTALLLICENSE?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/res/INSTALLLICENSE (original)
+++ tomcat/tc6.0.x/trunk/res/INSTALLLICENSE Wed Sep 22 13:43:53 2010
@@ -210,7 +210,7 @@ and license terms. Your use of these sub
 conditions of the following licenses. 
 
 
-For the jasper-jdt.jar component:
+For the Eclipse JDT Java compiler:
 
 Eclipse Public License - v 1.0
 

Modified: tomcat/tc6.0.x/trunk/res/License.rtf
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/res/License.rtf?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
Binary files - no diff available.

Modified: tomcat/tc6.0.x/trunk/res/maven/jasper.pom
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/res/maven/jasper.pom?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/res/maven/jasper.pom (original)
+++ tomcat/tc6.0.x/trunk/res/maven/jasper.pom Wed Sep 22 13:43:53 2010
@@ -53,10 +53,9 @@
       <scope>compile</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.tomcat</groupId>
-      <artifactId>jasper-jdt</artifactId>
-      <version>@MAVEN.DEPLOY.VERSION@</version>
-      <scope>compile</scope>
+      <groupId>org.eclipse.jdt.core.compiler</groupId>
+      <artifactId>ecj</artifactId>
+      <version>3.3.1</version>
     </dependency>
     <dependency>
       <groupId>org.apache.tomcat</groupId>

Modified: tomcat/tc6.0.x/trunk/res/maven/mvn-pub.xml
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/res/maven/mvn-pub.xml?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/res/maven/mvn-pub.xml (original)
+++ tomcat/tc6.0.x/trunk/res/maven/mvn-pub.xml Wed Sep 22 13:43:53 2010
@@ -138,7 +138,6 @@
     <doMavenDeploy artifactId="juli" jarFileName="tomcat-juli.jar"/> <!--Deploy
JULI-->
     <doMavenDeploy artifactId="tribes" jarFileName="catalina-tribes.jar"/> <!--Deploy
Tribes-->
     <doMavenDeploy artifactId="jasper-el"/> <!--Deploy Jasper EL-->
-    <doMavenDeploy artifactId="jasper-jdt"/> <!--Deploy Jasper JDT-->
     <doMavenDeploy artifactId="coyote" jarFileName="tomcat-coyote.jar"/> <!--Deploy
Coyote-->
     <doMavenDeploy artifactId="catalina"/> <!--Deploy Catalina-->
     <doMavenDeploy artifactId="catalina-ha"/> <!--Deploy Catalina-HA-->

Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Wed Sep 22 13:43:53 2010
@@ -45,6 +45,10 @@
       <fix>
         <bug>49674</bug>: Update to Commons Daemon 1.0.3. (markt)
       </fix>
+      <update>
+        Switch to using the Eclipse compiler JAR directly rather than creating
+        it from the larger JDT download. (markt)
+      </update>
     </changelog>
   </subsection>
   <subsection name="Catalina">

Modified: tomcat/tc6.0.x/trunk/webapps/docs/class-loader-howto.xml
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/class-loader-howto.xml?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/class-loader-howto.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/class-loader-howto.xml Wed Sep 22 13:43:53 2010
@@ -114,7 +114,7 @@ loaders as it is initialized:</p>
     <li><em>el-api.jar</em> - EL 2.1 API.</li>
     <li><em>jasper.jar</em> - Jasper 2 Compiler and Runtime.</li>
     <li><em>jasper-el.jar</em> - Jasper 2 EL implementation.</li>
-    <li><em>jasper-jdt.jar</em> - Eclipse JDT 3.2 Java compiler.</li>
+    <li><em>ecj-*.jar</em> - Eclipse JDT Java compiler.</li>
     <li><em>jsp-api.jar</em> - JSP 2.1 API.</li>
     <li><em>servlet-api.jar</em> - Servlet 2.5 API.</li>
     <li><em>tomcat-coyote.jar</em> - Tomcat connectors and utility classes.</li>

Modified: tomcat/tc6.0.x/trunk/webapps/docs/jasper-howto.xml
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/jasper-howto.xml?rev=999941&r1=999940&r2=999941&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/jasper-howto.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/jasper-howto.xml Wed Sep 22 13:43:53 2010
@@ -192,7 +192,7 @@ tens of JARs. On fast servers, this will
 for even large JSP  pages.</p>
 
 <p>Apache Ant, which was used in previous Tomcat releases, can be used instead
-of the new compiler by simply removing the <code>lib/jasper-jdt.jar</code> file,

+of the new compiler by simply removing the <code>lib/ecj-*.jar</code> file, 
 and placing the <code>ant.jar</code> file from the latest Ant distribution in
 the <code>lib</code> folder.  If you do this, you also need to use the "javac"
 argument to catalina.sh.</p>



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message