Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[MNG-6665] toolchain.xml file should support environment variables
- Loading branch information
1 parent
01405a2
commit aed5130
Showing
5 changed files
with
324 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
54 changes: 54 additions & 0 deletions
54
maven-core/src/main/java/org/apache/maven/toolchain/io/DefaultToolchainsWriter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
package org.apache.maven.toolchain.io; | ||
|
||
/* | ||
* 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 org.apache.maven.toolchain.model.PersistedToolchains; | ||
import org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Writer; | ||
|
||
import javax.inject.Named; | ||
import javax.inject.Singleton; | ||
import java.io.IOException; | ||
import java.io.Writer; | ||
import java.util.Map; | ||
import java.util.Objects; | ||
|
||
/** | ||
* Handles serialization of toolchains into the default textual format. | ||
* | ||
* @author Mike Mol | ||
* @author Martin Kanters | ||
*/ | ||
@Named | ||
@Singleton | ||
public class DefaultToolchainsWriter implements ToolchainsWriter | ||
{ | ||
|
||
@Override | ||
public void write( Writer output, Map<String, Object> options, PersistedToolchains toolchains ) throws IOException | ||
{ | ||
Objects.requireNonNull( output, "output cannot be null" ); | ||
Objects.requireNonNull( toolchains, "toolchains cannot be null" ); | ||
|
||
try ( final Writer out = output ) | ||
{ | ||
new MavenToolchainsXpp3Writer().write( out, toolchains ); | ||
} | ||
} | ||
} |
48 changes: 48 additions & 0 deletions
48
maven-core/src/main/java/org/apache/maven/toolchain/io/ToolchainsWriter.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
package org.apache.maven.toolchain.io; | ||
|
||
/* | ||
* 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 org.apache.maven.toolchain.model.PersistedToolchains; | ||
|
||
import java.io.IOException; | ||
import java.io.Writer; | ||
import java.util.Map; | ||
|
||
/** | ||
* Handles serialization of toolchains into some kind of textual format like XML. | ||
* | ||
* @author Mike Mol | ||
* @author Martin Kanters | ||
*/ | ||
public interface ToolchainsWriter | ||
{ | ||
|
||
/** | ||
* Writes the supplied toolchains to the specified character writer. The writer will be automatically closed before | ||
* the method returns. | ||
* | ||
* @param output The writer to serialize the toolchains to, must not be {@code null}. | ||
* @param options The options to use for serialization, may be {@code null} to use the default values. | ||
* @param toolchains The toolchains to serialize, must not be {@code null}. | ||
* @throws IOException If the toolchains could not be serialized. | ||
*/ | ||
void write( Writer output, Map<String, Object> options, PersistedToolchains toolchains ) | ||
throws IOException; | ||
} |
Oops, something went wrong.