Author: krosenvold
Date: Sat Nov 29 09:58:46 2014
New Revision: 1642407
URL: http://svn.apache.org/r1642407
Log:
[MASSEMBLY-736] .properties files are interpolated with UTF-8
Added:
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/invoker.properties
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/pom.xml
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/assembly/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/assembly/descriptor.xml
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/config/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/config/aTextFileISO8859-1.txt
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/config/file-1.properties
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/filters/
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/filters/filter-assembly.properties
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/filters/filter-build.properties
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/verify.bsh
Modified:
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java
Added:
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/invoker.properties
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/invoker.properties?rev=1642407&view=auto
==============================================================================
---
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/invoker.properties
(added)
+++
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/invoker.properties
Sat Nov 29 09:58:46 2014
@@ -0,0 +1,17 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+invoker.goals=clean package
Added:
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/pom.xml
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/pom.xml?rev=1642407&view=auto
==============================================================================
---
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/pom.xml
(added)
+++
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/pom.xml
Sat Nov 29 09:58:46 2014
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.maven.plugin.assembly.test</groupId>
+ <artifactId>it-project-parent</artifactId>
+ <version>1</version>
+ </parent>
+
+ <artifactId>filters-defined-in-build</artifactId>
+ <packaging>pom</packaging>
+
+ <build>
+ <filters>
+ <filter>${basedir}/src/main/filters/filter-build.properties</filter>
+ </filters>
+
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <configuration>
+ <descriptors>
+
<descriptor>${basedir}/src/main/assembly/descriptor.xml</descriptor>
+ </descriptors>
+ <appendAssemblyId>false</appendAssemblyId>
+ <escapeString>\</escapeString>
+ </configuration>
+ <executions>
+ <execution>
+ <id>single-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <anExpr>über</anExpr>
+ </properties>
+</project>
Added:
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/assembly/descriptor.xml
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/assembly/descriptor.xml?rev=1642407&view=auto
==============================================================================
---
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/assembly/descriptor.xml
(added)
+++
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/assembly/descriptor.xml
Sat Nov 29 09:58:46 2014
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<assembly
xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0
http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+
+ <id>assembly</id>
+
+ <formats>
+ <format>dir</format>
+ </formats>
+
+ <includeBaseDirectory>false</includeBaseDirectory>
+
+ <fileSets>
+ <fileSet>
+ <directory>${basedir}/src/main/config</directory>
+ <outputDirectory></outputDirectory>
+ <lineEnding>unix</lineEnding>
+ <filtered>true</filtered>
+ </fileSet>
+ </fileSets>
+
+</assembly>
Added:
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/config/aTextFileISO8859-1.txt
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/config/aTextFileISO8859-1.txt?rev=1642407&view=auto
==============================================================================
---
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/config/aTextFileISO8859-1.txt
(added)
+++
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/config/aTextFileISO8859-1.txt
Sat Nov 29 09:58:46 2014
@@ -0,0 +1 @@
+Bjørn is cool ${anExpr}
Added:
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/config/file-1.properties
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/config/file-1.properties?rev=1642407&view=auto
==============================================================================
---
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/config/file-1.properties
(added)
+++
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/config/file-1.properties
Sat Nov 29 09:58:46 2014
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+bøs=${anExpr}
+
Added:
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/filters/filter-assembly.properties
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/filters/filter-assembly.properties?rev=1642407&view=auto
==============================================================================
---
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/filters/filter-assembly.properties
(added)
+++
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/filters/filter-assembly.properties
Sat Nov 29 09:58:46 2014
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+filter.assembly=Filter defined in the Assembly plugin's configuration.
Added:
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/filters/filter-build.properties
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/filters/filter-build.properties?rev=1642407&view=auto
==============================================================================
---
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/filters/filter-build.properties
(added)
+++
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/src/main/filters/filter-build.properties
Sat Nov 29 09:58:46 2014
@@ -0,0 +1,18 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+filter.build=Filter defined in the projects' build section.
Added:
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/verify.bsh
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/verify.bsh?rev=1642407&view=auto
==============================================================================
---
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/verify.bsh
(added)
+++
maven/plugins/trunk/maven-assembly-plugin/src/it/projects/filtering-feature/massembly-736/verify.bsh
Sat Nov 29 09:58:46 2014
@@ -0,0 +1,41 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import java.io.*;
+import java.net.*;
+import java.util.jar.*;
+
+try
+{
+ File file = new File( basedir,
"target/filters-defined-in-build-1/file-1.properties");
+ Properties properties = new Properties( );
+ properties.load( new FileInputStream( file ) );
+ String value = properties.get("b\u00f8s");
+
+ if (!value.equals("\u00FCber")){
+ System.out.println("Expected über, found:" + value);
+ return false;
+ }
+ return true;
+}
+catch( IOException e )
+{
+ e.printStackTrace();
+ return false;
+}
Modified:
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java
URL:
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java?rev=1642407&r1=1642406&r2=1642407&view=diff
==============================================================================
---
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java
(original)
+++
maven/plugins/trunk/maven-assembly-plugin/src/main/java/org/apache/maven/plugin/assembly/format/ReaderFormatter.java
Sat Nov 29 09:58:46 2014
@@ -110,12 +110,12 @@ public class ReaderFormatter
InputStream result = inputStream;
if ( isFiltered )
{
- final String encoding = configSource.getEncoding();
+ boolean isPropertyFile =
AssemblyFileUtils.isPropertyFile( plexusIoResource.getName() );
+ final String encoding = isPropertyFile ? "ISO-8859-1"
: configSource.getEncoding();
Reader source = encoding != null
? new InputStreamReader( inputStream, encoding )
: new InputStreamReader( inputStream ); // wtf
platform encoding ? TODO: Fix this
- boolean isPropertyFile =
AssemblyFileUtils.isPropertyFile( plexusIoResource.getName() );
Reader filtered =
createReaderFilter( source,
configSource.getEscapeString(), configSource.getDelimiters(),
configSource, isPropertyFile );