This is an automated email from the ASF dual-hosted git repository. ggregory pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-exec.git
The following commit(s) were added to refs/heads/master by this push: new 761816b Bump actions/cache from 3.0.2 to 3.0.3 761816b is described below commit 761816b878f1d8ffa6b8b5f97e221fce18206fbd Author: Gary Gregory <garydgreg...@gmail.com> AuthorDate: Tue May 31 16:34:36 2022 -0400 Bump actions/cache from 3.0.2 to 3.0.3 --- .github/workflows/maven.yml | 96 +++---- src/changes/changes.xml | 598 ++++++++++++++++++++++---------------------- 2 files changed, 347 insertions(+), 347 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index e59f501..138a713 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -1,48 +1,48 @@ -# 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. - -name: Java CI - -on: [push, pull_request] - -jobs: - build: - - runs-on: ubuntu-latest - continue-on-error: ${{ matrix.experimental }} - strategy: - matrix: - os: [ubuntu-latest, windows-latest, macos-latest] - java: [ 8, 11, 17 ] - experimental: [false] -# include: -# - java: 18-ea -# experimental: true - - steps: - - uses: actions/checkout@v3 - - uses: actions/cache@v3.0.2 - with: - path: ~/.m2/repository - key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} - restore-keys: | - ${{ runner.os }}-maven- - - name: Set up JDK ${{ matrix.java }} - uses: actions/setup-java@v3 - with: - distribution: 'temurin' - java-version: ${{ matrix.java }} - - name: Build with Maven - run: mvn -V -Ddoclint=all --file pom.xml --no-transfer-progress +# 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. + +name: Java CI + +on: [push, pull_request] + +jobs: + build: + + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + java: [ 8, 11, 17 ] + experimental: [false] +# include: +# - java: 18-ea +# experimental: true + + steps: + - uses: actions/checkout@v3 + - uses: actions/cache@v3.0.3 + with: + path: ~/.m2/repository + key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} + restore-keys: | + ${{ runner.os }}-maven- + - name: Set up JDK ${{ matrix.java }} + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: ${{ matrix.java }} + - name: Build with Maven + run: mvn -V -Ddoclint=all --file pom.xml --no-transfer-progress diff --git a/src/changes/changes.xml b/src/changes/changes.xml index ba2610c..a9421cf 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -1,299 +1,299 @@ -<?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. ---> -<document> - <properties> - <title>Apache Commons Exec Release Notes</title> - <author email="sgoes...@apache.org">Siegfried Goeschl</author> - </properties> - <body> - <release version="1.4.0" date="" description="Maintenance and feature Release (Java 8)"> - <action issue="EXEC-100" dev="sgoeschl" type="update" date="2016-01-11"> - Sync org.apache.commons.exec.OS with the newest Ant source file - </action> - <action issue="EXEC-64" dev="sebb" type="update" due-to="Michael Vorburger"> - DefaultExecutor swallows IOException cause instead of propagating it - (work-round for Java 1.5) - </action> - <action dev="ggregory" type="update" due-to="nullptr"> - Java-style Array declaration and remove empty finally block #26. - </action> - <action dev="ggregory" type="add" due-to="Gary Gregory"> - Add ShutdownHookProcessDestroyer.isEmpty(). - </action> - <!-- UPDATE --> - <action issue="EXEC-111" dev="ggregory" type="update" due-to="Gary Gregory"> - Update from Java 5 to 6. - </action> - <action dev="ggregory" type="update" due-to="Gary Gregory"> - Update from Java 7 to 8. - </action> - <action dev="ggregory" type="update" due-to="Dependabot"> - Bump actions/checkout from 2.3.2 to 3 #24, #46. - </action> - <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> - Bump actions/setup-java from 1.4.0 to 3 #21, #50. - </action> - <action dev="ggregory" type="update" due-to="Gary Gregory"> - Bump actions/cache from 2 to 3.0.2 #48, #51. - </action> - <action dev="ggregory" type="update" due-to="Dependabot"> - Bump junit from 4.13 to 4.13.2 #23, #33. - </action> - <action dev="ggregory" type="update" due-to="Dependabot"> - Bump maven-pmd-plugin from 2.7.1 to 3.16.0 #45. - </action> - <action dev="ggregory" type="update" due-to="Dependabot"> - Bump maven-checkstyle-plugin from 2.13 to 3.1.2 #29. - </action> - <action dev="ggregory" type="update" due-to="Dependabot"> - Bump commons-parent from 52 to 53 #49. - </action> - </release> - <release version="1.3" date="2014-11-02" description="Maintenance and feature Release"> - <action issue="EXEC-69" dev="ggregory" type="add" due-to="Richard Atkins, Michael Vorburger"> - DefaultExecutor async execute prevents shutdown hooks running. - </action> - <action issue="EXEC-81" dev="ggregory" type="fix" date="2014-02-04" due-to="Stephen Compall"> - Remove remaining raw types, unchecked conversions - </action> - <action issue="EXEC-80" dev="ggregory" type="fix" date="2014-02-04"> - NPE in EnvironmentUtils.toString(map) - </action> - <action issue="EXEC-78" dev="sebb" type="update" date="2014-01-11"> - No need to use System.class.getMethod("getenv",...) any more - </action> - <action issue="EXEC-77" dev="britter" type="update" date="2014-01-10"> - Update JUnit dependency to 4.11 - </action> - <action issue="EXEC-76" dev="britter" type="update" date="2014-01-10"> - Update to Java 5 - </action> - </release> - <release version="1.2" date="2014-01-02" description="Maintenance and small feature Release"> - <action issue="EXEC-68" dev="ggregory" type="fix" date="2012-10-22" due-to="Joel McCance"> - Watchdog kills process immediately if timeout is too large. - </action> - <action issue="EXEC-57" dev="sgoeschl" type="fix" date="2011-10-10" due-to="Nickolay Martinov"> - Applied the patch from Nickolay Martinov but the timeout disguises the fact - that the process might be still running. Therefore added a sanity check in - order to throw an exception if the the timeout for join() was exceeded. - </action> - <action issue="EXEC-60" dev="sgoeschl" type="fix" date="2011-10-09" due-to="Peter Kofler"> - Fixed deadlock by calling the timeout observers outside of the synchronized block thereby - removing a prerequisite of a deadlock. Also added a test case to demonstrate that this - problem is fixed (which of course can not guarantee the absence of a dead lock). - </action> - <action issue="EXEC-55" dev="sgoeschl" type="add" date="2011-02-21" due-to="Dominik Stadler"> - Set names for started threads. - </action> - <action issue="EXEC-52" dev="sebb" type="fix" date="2011-02-26" due-to="Nickolay Martinov"> - Tests fail on HP-UX, because it uses a different syntax for the ping command. - </action> - <action issue="EXEC-49" dev="sgoeschl" type="fix" date="2010-11-05" due-to="Kevin Telford"> - "Write dead end" IOException when using Piped streams w/PumpStreamHandler. - When encountering a PipedOutputStream we will automatically close it to avoid - the exception. - </action> - <action issue="EXEC-34" dev="simonetripodi" type="fix" date="2011-11-30" due-to="Marco Ferrante"> - Race condition prevent watchdog working using ExecuteStreamHandler. - Patch submittd by Kristian Rosenvold. - </action> - </release> - <release version="1.1" date="2010-10-08" description="Maintenance Release"> - <action dev="sebb" type="fix" date="2010-10-05" > - OpenVMS now uses symbols instead of logicals for environment variables. - </action> - <action dev="sgoeschl" type="add" date="2010-09-21" > - Adding 'Argument' class and quote the arguments after expansion. - </action> - <action dev="sgoeschl" type="add" date="2010-09-02" > - Reverting changes of [EXEC-41] because the patch does not fix the problem. - Also added test case for the broken patch. - </action> - <action dev="sgoeschl" type="add" date="2010-08-17" > - Added TutorialTest as a playground for new user and removed - similar code from DefaultExecutorTest. - </action> - <action dev="sgoeschl" type="fix" date="2010-08-16" > - String substitution handles now java.io.File instances in order - to create a cross-platform file name. - </action> - <action dev="sgoeschl" type="fix" date="2010-08-16" > - The 'forever.bat' accidentally overwrite the 'forever.txt' instead of - appending. - </action> - <action dev="sgoeschl" type="update" date="2010-08-16" > - DefaultExecutor() now sets the working directory with the current working - directory. - </action> - <action dev="sgoeschl" type="update" date="2010-08-15"> - Added 'DefaultExecutorTest#testStdInHandling' to show how - commons-exec can feed the 'stdin' of a child process. - </action> - <action dev="sgoeschl" type="update" date="2010-08-15" issue="EXEC-42" due-to="Konrad Windzus"> - Improved the documentation. - </action> - <action dev="sgoeschl" type="update" date="2010-08-15" issue="EXEC-41" due-to="Ernest Mishkin"> - Added a PumpStreamHandler.setAlwaysWaitForStreamThreads() which allows to skip - joining with the pumper threads. Having said that - using that flag is for the - desperate because it could leave up to three worker threads behind but there - might be situations where this is the only escape. - </action> - <action dev="sgoeschl" type="fix" date="2010-08-15" issue="EXEC-46" due-to="Zimmermann Nir"> - Process.waitFor should clear interrupt status when throwing InterruptedException - </action> - <action dev="sgoeschl" type="update" date="2010-06-01"> - Added 'DefaultExecuteResultHandler' - </action> - <action dev="sgoeschl" type="update" date="2010-06-01" issue="EXEC-42" due-to="Pablo Hoertner"> - Added a new section to the tutorial to show working with asynchronous - processes. Thanks to Pablo for providing this documentation update. - </action> - <action dev="sgoeschl" type="fix" date="2010-05-31" issue="EXEC-44"> - Because the ExecuteWatchdog is the only way to destroy asynchronous processes, - it should be possible to set it to an infinite timeout, for processes which - should not timeout, but manually destroyed under some circumstances. - </action> - </release> - <release version="1.0.1" date="2009-09-28" description="Maintenance Release"> - <action dev="henrib" type="fix" date="2009-09-25" issue="EXEC-33"> - On a Mac, the unit tests never finish. Culprit is InputStreamPumper which - sets its stop member in the run method; however, run might really be executed - after the stopProcessing method is called if the process - thread completes before the InputStreamPumper starts. - </action> - <action dev="sgoeschl" type="fix" due-to="Peter Henderson" issue="EXEC-40"> - Fixes NPE in DefaultExecutor.setExitValues(). - </action> - <action dev="sgoeschl" type="fix" due-to="Milos Kleint" issue="EXEC-33"> - Copies all data from an System.input stream to an output stream of - the executed process. - </action> - </release> - <release version="1.0" date="2009-03-15" description="First Public Release"> - <action dev="sgoeschl" type="fix" due-to="Sebastien Bazley" issue="EXEC-37"> - Removed useless synchronized statement in - OpenVmsProcessingEnvironment.createProcEnvironment - </action> - <action dev="sgoeschl" type="fix" issue="EXEC-33"> - Using System.in for child process will actually hang your application - - see JIRA for more details. Since there is no easy fix an - IllegalRuntimeException is thrown when System.in is passed. - </action> - <action dev="sgoeschl" type="fix" due-to="Luc Maisonobe" issue="EXEC-35"> - Fixing a few findbugs issues. - </action> - <action dev="sgoeschl" type="fix" due-to="Marco Ferrante" issue="EXEC-32"> - Handle null streams consistently. - </action> - <action dev="sgoeschl" type="fix"> - After a long discussion we decided to stick to following groupId - "org.apache.commons" instead of "commons-exec". - </action> - <action dev="sgoeschl" type="fix" due-to="Kevin Jackson"> - The Ant build now works even when junit is not on the classpath - </action> - <action dev="sgoeschl" type="fix"> - Fixed broken "groupId" from "org.apache.commons" to "commons-exec" - </action> - <action dev="sgoeschl" type="fix" issue="EXEC-27" due-to="Benjamin Bentmann"> - Renamed EnvironmentUtil to EnvironmentUtils to align with other classes - in this project and commons in general. Please note that this change - could break existing clients (but would be rather unlikely). - </action> - <action dev="sgoeschl" type="fix" issue="EXEC-30" due-to="Benjamin Bentmann"> - Make environment variables respect casing rules of platforms. Under Windows - "PATH", "Path" and "path" would access the same environment variable whereas - the real name is "Path". - </action> - <action dev="sgoeschl" type="fix" issue="EXEC-31" due-to="Benjamin Bentmann"> - Invoking DefaultExecutor.execute(CommandLine command, Map environment) using - a 'null' Map results in inheriting all environment variables of the current - process while passing an empty map implies starting the new process with no - environment variables. In short 'null' is not the same as an empty map. - </action> - <action dev="sgoeschl" type="add" issue="EXEC-26" due-to="Benjamin Bentmann"> - Added one additional test : DefaultExecutorTest.testExecuteWithFancyArg - </action> - <action dev="sgoeschl" issue="EXEC-25" type="fix"> - Using variable substitution within CommandLine broke the regression tests - under Windows. Found also another bug when calling CommandLine.getExecutable() - the result was not substituted at all. As a general rule we do variable - substitution and file separator fixing on the command line executable and - variable substitution but NO file separator fixing for the command line - arguments. - </action> - <action dev="sgoeschl" type="add"> - Added convinience method to add two parameters to the CommandLine - using one method invocation. - </action> - <action dev="sgoeschl" type="fix"> - Implemented better regression test for OpenVMS affecting also - the Executor and CommandLauncher interface. - </action> - <action dev="sebb" type="add"> - Added test scripts for OpenVMS - he seems to be the last human - having access to an OpenVMS box ... :-) - </action> - <action dev="sgoeschl" type="add" due-to="Simone Gianni,Bindul Bhowmik,Niall Pemberton,Sebastian Bazley"> - With the help of the Apache Commons community I added the first results - of cross-OS testing. - </action> - <action dev="sgoeschl" type="add"> - The regression tests now also works on Windows - so it should - work now on Linux, Windows and Mac OS X - </action> - <action dev="sgoeschl" type="add"> - Added DebugUtils to improve cross-platform testing. - </action> - <action dev="sgoeschl" type="remove"> - Removed commons-logging integration - </action> - <action dev="sgoeschl" type="add" issue="SANDBOX-62" due-to="Jeremy Lacoste"> - Made DefaultExecutor.launch() protected to enable mocking. - </action> - <action dev="sgoeschl" type="add" issue="SANDBOX-107" due-to="Niklas Gustavsson"> - Made ProcessDestroyer optional and pluggable when using Executor. - </action> - <action dev="sgoeschl" type="add"> - CommandLine can now expand the given command line by a user-suppied - map. This allows to execute something like "${JAVA_HOME}/bin/java -jar ${myapp}" - </action> - <action dev="sgoeschl" type="add" issue="SANDBOX-192" due-to="Reinhold Fuereder"> - Added methods to provide pre-quoted arguments. - </action> - <action dev="sgoeschl" type="add" issue="SANDBOX-193" due-to="Reinhold Fuereder"> - Exposing a ExecuteWatchdog.destroy() to kill an asynchrounous process - manually. This formalizes a workaround described in the JIRA - </action> - <action dev="sgoeschl" type="add" issue="SANDBOX-203"> - Extending exit value handling to support applications returning an error - code. - </action> - <action dev="sgoeschl" type="fix" issue="SANDBOX-204"> - Cleaned up the source code to get rid of javadoc errors and - unused imports. - </action> - <action dev="sgoeschl" type="add" issue="SANDBOX-204"> - Added a few regression tests for the watchdog since they were missing. - </action> - </release> - </body> -</document> +<?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. +--> +<document> + <properties> + <title>Apache Commons Exec Release Notes</title> + <author email="sgoes...@apache.org">Siegfried Goeschl</author> + </properties> + <body> + <release version="1.4.0" date="" description="Maintenance and feature Release (Java 8)"> + <action issue="EXEC-100" dev="sgoeschl" type="update" date="2016-01-11"> + Sync org.apache.commons.exec.OS with the newest Ant source file + </action> + <action issue="EXEC-64" dev="sebb" type="update" due-to="Michael Vorburger"> + DefaultExecutor swallows IOException cause instead of propagating it + (work-round for Java 1.5) + </action> + <action dev="ggregory" type="update" due-to="nullptr"> + Java-style Array declaration and remove empty finally block #26. + </action> + <action dev="ggregory" type="add" due-to="Gary Gregory"> + Add ShutdownHookProcessDestroyer.isEmpty(). + </action> + <!-- UPDATE --> + <action issue="EXEC-111" dev="ggregory" type="update" due-to="Gary Gregory"> + Update from Java 5 to 6. + </action> + <action dev="ggregory" type="update" due-to="Gary Gregory"> + Update from Java 7 to 8. + </action> + <action dev="ggregory" type="update" due-to="Dependabot"> + Bump actions/checkout from 2.3.2 to 3 #24, #46. + </action> + <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> + Bump actions/setup-java from 1.4.0 to 3 #21, #50. + </action> + <action dev="ggregory" type="update" due-to="Gary Gregory"> + Bump actions/cache from 2 to 3.0.3 #48, #51. + </action> + <action dev="ggregory" type="update" due-to="Dependabot"> + Bump junit from 4.13 to 4.13.2 #23, #33. + </action> + <action dev="ggregory" type="update" due-to="Dependabot"> + Bump maven-pmd-plugin from 2.7.1 to 3.16.0 #45. + </action> + <action dev="ggregory" type="update" due-to="Dependabot"> + Bump maven-checkstyle-plugin from 2.13 to 3.1.2 #29. + </action> + <action dev="ggregory" type="update" due-to="Dependabot"> + Bump commons-parent from 52 to 53 #49. + </action> + </release> + <release version="1.3" date="2014-11-02" description="Maintenance and feature Release"> + <action issue="EXEC-69" dev="ggregory" type="add" due-to="Richard Atkins, Michael Vorburger"> + DefaultExecutor async execute prevents shutdown hooks running. + </action> + <action issue="EXEC-81" dev="ggregory" type="fix" date="2014-02-04" due-to="Stephen Compall"> + Remove remaining raw types, unchecked conversions + </action> + <action issue="EXEC-80" dev="ggregory" type="fix" date="2014-02-04"> + NPE in EnvironmentUtils.toString(map) + </action> + <action issue="EXEC-78" dev="sebb" type="update" date="2014-01-11"> + No need to use System.class.getMethod("getenv",...) any more + </action> + <action issue="EXEC-77" dev="britter" type="update" date="2014-01-10"> + Update JUnit dependency to 4.11 + </action> + <action issue="EXEC-76" dev="britter" type="update" date="2014-01-10"> + Update to Java 5 + </action> + </release> + <release version="1.2" date="2014-01-02" description="Maintenance and small feature Release"> + <action issue="EXEC-68" dev="ggregory" type="fix" date="2012-10-22" due-to="Joel McCance"> + Watchdog kills process immediately if timeout is too large. + </action> + <action issue="EXEC-57" dev="sgoeschl" type="fix" date="2011-10-10" due-to="Nickolay Martinov"> + Applied the patch from Nickolay Martinov but the timeout disguises the fact + that the process might be still running. Therefore added a sanity check in + order to throw an exception if the the timeout for join() was exceeded. + </action> + <action issue="EXEC-60" dev="sgoeschl" type="fix" date="2011-10-09" due-to="Peter Kofler"> + Fixed deadlock by calling the timeout observers outside of the synchronized block thereby + removing a prerequisite of a deadlock. Also added a test case to demonstrate that this + problem is fixed (which of course can not guarantee the absence of a dead lock). + </action> + <action issue="EXEC-55" dev="sgoeschl" type="add" date="2011-02-21" due-to="Dominik Stadler"> + Set names for started threads. + </action> + <action issue="EXEC-52" dev="sebb" type="fix" date="2011-02-26" due-to="Nickolay Martinov"> + Tests fail on HP-UX, because it uses a different syntax for the ping command. + </action> + <action issue="EXEC-49" dev="sgoeschl" type="fix" date="2010-11-05" due-to="Kevin Telford"> + "Write dead end" IOException when using Piped streams w/PumpStreamHandler. + When encountering a PipedOutputStream we will automatically close it to avoid + the exception. + </action> + <action issue="EXEC-34" dev="simonetripodi" type="fix" date="2011-11-30" due-to="Marco Ferrante"> + Race condition prevent watchdog working using ExecuteStreamHandler. + Patch submittd by Kristian Rosenvold. + </action> + </release> + <release version="1.1" date="2010-10-08" description="Maintenance Release"> + <action dev="sebb" type="fix" date="2010-10-05" > + OpenVMS now uses symbols instead of logicals for environment variables. + </action> + <action dev="sgoeschl" type="add" date="2010-09-21" > + Adding 'Argument' class and quote the arguments after expansion. + </action> + <action dev="sgoeschl" type="add" date="2010-09-02" > + Reverting changes of [EXEC-41] because the patch does not fix the problem. + Also added test case for the broken patch. + </action> + <action dev="sgoeschl" type="add" date="2010-08-17" > + Added TutorialTest as a playground for new user and removed + similar code from DefaultExecutorTest. + </action> + <action dev="sgoeschl" type="fix" date="2010-08-16" > + String substitution handles now java.io.File instances in order + to create a cross-platform file name. + </action> + <action dev="sgoeschl" type="fix" date="2010-08-16" > + The 'forever.bat' accidentally overwrite the 'forever.txt' instead of + appending. + </action> + <action dev="sgoeschl" type="update" date="2010-08-16" > + DefaultExecutor() now sets the working directory with the current working + directory. + </action> + <action dev="sgoeschl" type="update" date="2010-08-15"> + Added 'DefaultExecutorTest#testStdInHandling' to show how + commons-exec can feed the 'stdin' of a child process. + </action> + <action dev="sgoeschl" type="update" date="2010-08-15" issue="EXEC-42" due-to="Konrad Windzus"> + Improved the documentation. + </action> + <action dev="sgoeschl" type="update" date="2010-08-15" issue="EXEC-41" due-to="Ernest Mishkin"> + Added a PumpStreamHandler.setAlwaysWaitForStreamThreads() which allows to skip + joining with the pumper threads. Having said that - using that flag is for the + desperate because it could leave up to three worker threads behind but there + might be situations where this is the only escape. + </action> + <action dev="sgoeschl" type="fix" date="2010-08-15" issue="EXEC-46" due-to="Zimmermann Nir"> + Process.waitFor should clear interrupt status when throwing InterruptedException + </action> + <action dev="sgoeschl" type="update" date="2010-06-01"> + Added 'DefaultExecuteResultHandler' + </action> + <action dev="sgoeschl" type="update" date="2010-06-01" issue="EXEC-42" due-to="Pablo Hoertner"> + Added a new section to the tutorial to show working with asynchronous + processes. Thanks to Pablo for providing this documentation update. + </action> + <action dev="sgoeschl" type="fix" date="2010-05-31" issue="EXEC-44"> + Because the ExecuteWatchdog is the only way to destroy asynchronous processes, + it should be possible to set it to an infinite timeout, for processes which + should not timeout, but manually destroyed under some circumstances. + </action> + </release> + <release version="1.0.1" date="2009-09-28" description="Maintenance Release"> + <action dev="henrib" type="fix" date="2009-09-25" issue="EXEC-33"> + On a Mac, the unit tests never finish. Culprit is InputStreamPumper which + sets its stop member in the run method; however, run might really be executed + after the stopProcessing method is called if the process + thread completes before the InputStreamPumper starts. + </action> + <action dev="sgoeschl" type="fix" due-to="Peter Henderson" issue="EXEC-40"> + Fixes NPE in DefaultExecutor.setExitValues(). + </action> + <action dev="sgoeschl" type="fix" due-to="Milos Kleint" issue="EXEC-33"> + Copies all data from an System.input stream to an output stream of + the executed process. + </action> + </release> + <release version="1.0" date="2009-03-15" description="First Public Release"> + <action dev="sgoeschl" type="fix" due-to="Sebastien Bazley" issue="EXEC-37"> + Removed useless synchronized statement in + OpenVmsProcessingEnvironment.createProcEnvironment + </action> + <action dev="sgoeschl" type="fix" issue="EXEC-33"> + Using System.in for child process will actually hang your application - + see JIRA for more details. Since there is no easy fix an + IllegalRuntimeException is thrown when System.in is passed. + </action> + <action dev="sgoeschl" type="fix" due-to="Luc Maisonobe" issue="EXEC-35"> + Fixing a few findbugs issues. + </action> + <action dev="sgoeschl" type="fix" due-to="Marco Ferrante" issue="EXEC-32"> + Handle null streams consistently. + </action> + <action dev="sgoeschl" type="fix"> + After a long discussion we decided to stick to following groupId + "org.apache.commons" instead of "commons-exec". + </action> + <action dev="sgoeschl" type="fix" due-to="Kevin Jackson"> + The Ant build now works even when junit is not on the classpath + </action> + <action dev="sgoeschl" type="fix"> + Fixed broken "groupId" from "org.apache.commons" to "commons-exec" + </action> + <action dev="sgoeschl" type="fix" issue="EXEC-27" due-to="Benjamin Bentmann"> + Renamed EnvironmentUtil to EnvironmentUtils to align with other classes + in this project and commons in general. Please note that this change + could break existing clients (but would be rather unlikely). + </action> + <action dev="sgoeschl" type="fix" issue="EXEC-30" due-to="Benjamin Bentmann"> + Make environment variables respect casing rules of platforms. Under Windows + "PATH", "Path" and "path" would access the same environment variable whereas + the real name is "Path". + </action> + <action dev="sgoeschl" type="fix" issue="EXEC-31" due-to="Benjamin Bentmann"> + Invoking DefaultExecutor.execute(CommandLine command, Map environment) using + a 'null' Map results in inheriting all environment variables of the current + process while passing an empty map implies starting the new process with no + environment variables. In short 'null' is not the same as an empty map. + </action> + <action dev="sgoeschl" type="add" issue="EXEC-26" due-to="Benjamin Bentmann"> + Added one additional test : DefaultExecutorTest.testExecuteWithFancyArg + </action> + <action dev="sgoeschl" issue="EXEC-25" type="fix"> + Using variable substitution within CommandLine broke the regression tests + under Windows. Found also another bug when calling CommandLine.getExecutable() + the result was not substituted at all. As a general rule we do variable + substitution and file separator fixing on the command line executable and + variable substitution but NO file separator fixing for the command line + arguments. + </action> + <action dev="sgoeschl" type="add"> + Added convinience method to add two parameters to the CommandLine + using one method invocation. + </action> + <action dev="sgoeschl" type="fix"> + Implemented better regression test for OpenVMS affecting also + the Executor and CommandLauncher interface. + </action> + <action dev="sebb" type="add"> + Added test scripts for OpenVMS - he seems to be the last human + having access to an OpenVMS box ... :-) + </action> + <action dev="sgoeschl" type="add" due-to="Simone Gianni,Bindul Bhowmik,Niall Pemberton,Sebastian Bazley"> + With the help of the Apache Commons community I added the first results + of cross-OS testing. + </action> + <action dev="sgoeschl" type="add"> + The regression tests now also works on Windows - so it should + work now on Linux, Windows and Mac OS X + </action> + <action dev="sgoeschl" type="add"> + Added DebugUtils to improve cross-platform testing. + </action> + <action dev="sgoeschl" type="remove"> + Removed commons-logging integration + </action> + <action dev="sgoeschl" type="add" issue="SANDBOX-62" due-to="Jeremy Lacoste"> + Made DefaultExecutor.launch() protected to enable mocking. + </action> + <action dev="sgoeschl" type="add" issue="SANDBOX-107" due-to="Niklas Gustavsson"> + Made ProcessDestroyer optional and pluggable when using Executor. + </action> + <action dev="sgoeschl" type="add"> + CommandLine can now expand the given command line by a user-suppied + map. This allows to execute something like "${JAVA_HOME}/bin/java -jar ${myapp}" + </action> + <action dev="sgoeschl" type="add" issue="SANDBOX-192" due-to="Reinhold Fuereder"> + Added methods to provide pre-quoted arguments. + </action> + <action dev="sgoeschl" type="add" issue="SANDBOX-193" due-to="Reinhold Fuereder"> + Exposing a ExecuteWatchdog.destroy() to kill an asynchrounous process + manually. This formalizes a workaround described in the JIRA + </action> + <action dev="sgoeschl" type="add" issue="SANDBOX-203"> + Extending exit value handling to support applications returning an error + code. + </action> + <action dev="sgoeschl" type="fix" issue="SANDBOX-204"> + Cleaned up the source code to get rid of javadoc errors and + unused imports. + </action> + <action dev="sgoeschl" type="add" issue="SANDBOX-204"> + Added a few regression tests for the watchdog since they were missing. + </action> + </release> + </body> +</document>