Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve implementation of executing command #258

Merged
merged 1 commit into from
Mar 1, 2018

Conversation

eyalg1972
Copy link

Instead of using the "Execute" class of ANT, I am now using the standard Java execution process using ProcessBuilder. Also- the executed command is printed so it is easy to see what might fail

@ctrueden
Copy link
Contributor

In principle I am all for simplifying the command execution. However, this is a deep change which needs to be tested on several platforms. It makes me nervous to merge it without some community validation first.

Ideally we would have all the integration tests passing on all of the major platforms, so that we can verify that they all still work after this change. Unfortunately, this is not the current reality—some integration tests fail on some platforms, for reasons no one has had time to investigate.

May I ask why you felt this change is necessary? Does it fix specific problems you encountered? If so, would you be willing to write a new test which fails under the old execution method, but passes with this one?

@eyalg1972
Copy link
Author

eyalg1972 commented Apr 12, 2017 via email

@eyalg1972
Copy link
Author

eyalg1972 commented Apr 14, 2017 via email

@ctrueden
Copy link
Contributor

How do you run today the integration tests?

https://github.com/maven-nar/nar-maven-plugin/wiki/Testing

  1. What tests fails and on which platforms?

On Windows, there is an issue: #223. A bit out of date now, though. Haven't tested lately.

On macOS, there have been issues in the past which were fixed (see #41), but now there are failures again, at least on my system. I filed new issue #267 documenting which ones.

  1. Can I re-produce the failures?

I dunno! Try mvn -Prun-its and see what happens on your box! 😄

I am not promising, but I can try to help here.

I completely understand. No worries. Any progress you make is appreciated, but I have no expectations.

@eyalg1972
Copy link
Author

eyalg1972 commented Apr 19, 2017 via email

@eyalg1972
Copy link
Author

eyalg1972 commented Apr 19, 2017 via email

@ctrueden
Copy link
Contributor

What am I not doing correct?

Probably, you are doing everything correctly. It's just that there is a lot of variation between environments. Our old Windows node which was failing ran Windows 7, likely with different version(s) of Visual Studio. It is a lot of work to test a wide variety of configurations.

@eyalg1972
Copy link
Author

eyalg1972 commented Apr 20, 2017 via email

@ctrueden
Copy link
Contributor

I pushed all IT logs from that attempt to the same gist. Here is it0001-executable.log.

@eyalg1972
Copy link
Author

eyalg1972 commented Apr 21, 2017 via email

@ctrueden
Copy link
Contributor

Regarding Windows failures-

  1. Can you tell me- on that machine with Windows 7- Which VS are installed?
    which Java version is used?

I'm sorry, I don't have that information anymore. The VM in question was probably infected with malware, so we shut it down permanently. And the person who set it up has left the project; I do not know its configuration specifically.

If your Windows environment has all passing tests, then that is great. I wouldn't worry too much about it. The main thing is that we need to get Appveyor builds working properly, which means creating a maven-nar organization Appveyor account.

@eyalg1972
Copy link
Author

eyalg1972 commented Apr 21, 2017 via email

@eyalg1972
Copy link
Author

eyalg1972 commented Apr 21, 2017 via email

@ctrueden
Copy link
Contributor

Can you clarify what do you mean by "The main thing is that we need to get Appveyor builds working properly, which means creating a maven-nar organization Appveyor account" ?

See #275.

@eyalg1972
Copy link
Author

eyalg1972 commented May 14, 2017 via email

@ctrueden
Copy link
Contributor

A couple of updates on the CI: 1) I finally created the maven-nar AppVeyor account; see the project page. The configuration needs work, though. 2) I activated the Travis CI build as well; see here. So now it should be doable to configure these systems to test PRs more thoroughly cross-platform.

And a question: for executing processes, would it make sense to lean on Apache Commons Exec?

@eyalg1972
Copy link
Author

eyalg1972 commented Nov 19, 2017 via email

@ctrueden
Copy link
Contributor

ctrueden commented Mar 1, 2018

Really sorry for my long silence on this PR, @eyalg1972.

I am going to merge it, and we'll see how it goes with Travis CI.

The AppVeyor CI still needs to be fixed, but that is definitely a separate issue from this change.

@ctrueden ctrueden merged commit c2ceada into maven-nar:master Mar 1, 2018
@eyalg1972
Copy link
Author

eyalg1972 commented Mar 2, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants