propane 3.3.1-java → 3.4.0-java

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a45edb342ed732fe93fc0e6866df3e64378b7b5e5cbfa86870f289d53ac7306c
4
- data.tar.gz: 18b06c7111468e2b157a7b92158e5f18ba1122cea435b14da9a756199dc09caf
3
+ metadata.gz: 0a17549b4cc5bcc10bb764cca572641ea1cc26e03f3634e6ca6765566d74e31a
4
+ data.tar.gz: 365bcb651c4a64e0218c35c21ee08b7e62c7dd55523d4fc6d1a4552bd8bbc636
5
5
  SHA512:
6
- metadata.gz: d8cb5318d84264ae49a575d6af4a2e477f082ee55c61381012fb87c632c5052ef9b896f520748f3a7b4b83944d60e2fbea823b8d788b95b4c09db8973cb0a0fa
7
- data.tar.gz: 691b2c1b03a5989c1db763487df32cb83b6073da18d0c986838f5eecae9008d0cccb86c37d999e9879d1a13b0c6cb7f64103fbdb20ccf84a6a60f495a14eac47
6
+ metadata.gz: 6cfc69cad0fe6d1d3a2e663ae267bb8057c4552702133554febb911aec0495cfbe231801489419e2b1d85ce1d4e55e87c2e66d69d3606d1d864a5fc074fa84c5
7
+ data.tar.gz: 298859b0bf5f3ac80796b85d306fb0f1f20b99c28857c469a0bd7ae896abb81d96d74b4a8c3105a7ccd26345ca4569659d695c22322bcfa07b90c880147e138b
@@ -0,0 +1,117 @@
1
+ /*
2
+ * Copyright 2007-present the original author or authors.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import java.net.*;
17
+ import java.io.*;
18
+ import java.nio.channels.*;
19
+ import java.util.Properties;
20
+
21
+ public class MavenWrapperDownloader {
22
+
23
+ private static final String WRAPPER_VERSION = "0.5.5";
24
+ /**
25
+ * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
26
+ */
27
+ private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
28
+ + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
29
+
30
+ /**
31
+ * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
32
+ * use instead of the default one.
33
+ */
34
+ private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
35
+ ".mvn/wrapper/maven-wrapper.properties";
36
+
37
+ /**
38
+ * Path where the maven-wrapper.jar will be saved to.
39
+ */
40
+ private static final String MAVEN_WRAPPER_JAR_PATH =
41
+ ".mvn/wrapper/maven-wrapper.jar";
42
+
43
+ /**
44
+ * Name of the property which should be used to override the default download url for the wrapper.
45
+ */
46
+ private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
47
+
48
+ public static void main(String args[]) {
49
+ System.out.println("- Downloader started");
50
+ File baseDirectory = new File(args[0]);
51
+ System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
52
+
53
+ // If the maven-wrapper.properties exists, read it and check if it contains a custom
54
+ // wrapperUrl parameter.
55
+ File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
56
+ String url = DEFAULT_DOWNLOAD_URL;
57
+ if(mavenWrapperPropertyFile.exists()) {
58
+ FileInputStream mavenWrapperPropertyFileInputStream = null;
59
+ try {
60
+ mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
61
+ Properties mavenWrapperProperties = new Properties();
62
+ mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
63
+ url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
64
+ } catch (IOException e) {
65
+ System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
66
+ } finally {
67
+ try {
68
+ if(mavenWrapperPropertyFileInputStream != null) {
69
+ mavenWrapperPropertyFileInputStream.close();
70
+ }
71
+ } catch (IOException e) {
72
+ // Ignore ...
73
+ }
74
+ }
75
+ }
76
+ System.out.println("- Downloading from: " + url);
77
+
78
+ File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
79
+ if(!outputFile.getParentFile().exists()) {
80
+ if(!outputFile.getParentFile().mkdirs()) {
81
+ System.out.println(
82
+ "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
83
+ }
84
+ }
85
+ System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
86
+ try {
87
+ downloadFileFromURL(url, outputFile);
88
+ System.out.println("Done");
89
+ System.exit(0);
90
+ } catch (Throwable e) {
91
+ System.out.println("- Error downloading");
92
+ e.printStackTrace();
93
+ System.exit(1);
94
+ }
95
+ }
96
+
97
+ private static void downloadFileFromURL(String urlString, File destination) throws Exception {
98
+ if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
99
+ String username = System.getenv("MVNW_USERNAME");
100
+ char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
101
+ Authenticator.setDefault(new Authenticator() {
102
+ @Override
103
+ protected PasswordAuthentication getPasswordAuthentication() {
104
+ return new PasswordAuthentication(username, password);
105
+ }
106
+ });
107
+ }
108
+ URL website = new URL(urlString);
109
+ ReadableByteChannel rbc;
110
+ rbc = Channels.newChannel(website.openStream());
111
+ FileOutputStream fos = new FileOutputStream(destination);
112
+ fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
113
+ fos.close();
114
+ rbc.close();
115
+ }
116
+
117
+ }
@@ -1,3 +1,2 @@
1
-
2
- distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip
3
-
1
+ distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.1/apache-maven-3.6.1-bin.zip
2
+ wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar
@@ -0,0 +1,9 @@
1
+ language: java
2
+ dist: trusty
3
+
4
+ rvm:
5
+ - jruby-9.2.7.0
6
+ jdk:
7
+ - openjdk11
8
+ os:
9
+ - linux
@@ -1,8 +1,10 @@
1
+ **v3.4.0** Experimental refactoring of ThinkDifferent, and some other processing classes
2
+
1
3
  **v3.3.1** Reflection makes refactoring a nightmare DesktopHandler => ThinkDifferent
2
4
 
3
- **v3.3.0** Compile with jdk12. Changed AppRender to GfxRender (PGraphics instead of PApplet). Attempt fix for macOS icons
5
+ **v3.3.0** Compile with jdk12\. Changed AppRender to GfxRender (PGraphics instead of PApplet). Attempt fix for macOS icons
4
6
 
5
- **v3.2.0** Now is the time for some serious refactoring for jdk11. Might even work on MacOS and Windows, ahead of vanilla processing.
7
+ **v3.2.0** Now is the time for some serious refactoring for jdk11\. Might even work on MacOS and Windows, ahead of vanilla processing.
6
8
 
7
9
  **v2.9.1** Attempt to bring 64 bit Windows users to party. Use non versioned jogl/opengl jars from processing distro, including processing.org apple.jar in case it's needed, MacOS users are being very opaque on this.
8
10
 
@@ -26,7 +28,7 @@
26
28
 
27
29
  **v2.6.1** Bump processing version, bump recommended jruby version.
28
30
 
29
- **v2.6.0** Refactored `LibraryLoader` knows less about `Library` class. The library class _knows_ about paths, and checks that they exist. Currently has ability to load `GLVideo` library, that will eventually become the new video libary (supports gstreamer-1.0 instead of gstreamer-0.1.0 that has already been dropped by some linux distros).
31
+ **v2.6.0** Refactored `LibraryLoader` knows less about `Library` class. The library class _knows_ about paths, and checks that they exist. Currently has ability to load `GLVideo` library, that will eventually become the new video libary (supports gstreamer-1.0 instead of gstreamer-0.1.0 that has already been dropped by some linux distros).
30
32
 
31
33
  **v2.5.5** Intermediate `refactored_library` loader, can be release if required but still not there as regards refactor goals.
32
34
 
@@ -64,13 +66,13 @@
64
66
 
65
67
  **v2.0.0** Refactored to work with processing-3.0, `--install samples` and/or vanilla processing `sound` and `video` libraries
66
68
 
67
- **v0.9.0** Implements `data_path` in ruby, you should use this method to return the absolute path to the `data` folder (read and write). Prefer JRubyArt methods, in the main.
69
+ **v0.9.0** Implements `data_path` in ruby, you should use this method to return the absolute path to the `data` folder (read and write). Prefer JRubyArt methods, in the main.
68
70
 
69
71
  **v0.8.0** Complete samples refactored to `data_path` folder, no longer require jruby-complete to run because we provide an absolute path to `data` folder, but it still probably requires that you run the sketch from the directory. Future direction might be to create a `~/.propane` folder, which would support additionalvanilla processing libraries, also integration with `atom` editor.
70
72
 
71
73
  **v0.7.0** Update to JRuby-Complete-9.1.2.0.
72
74
 
73
- **v0.6.0** Includes a sketch creator utility 3D still only for linux64 and macosx, any Windows developers are welcome to extend to windows (should be easy), includes slider in sketch library, change to requiring jdk8. Update to JRuby-Complete-9.1.0.0, request updated arcball (to run samples).
75
+ **v0.6.0** Includes a sketch creator utility 3D still only for linux64 and macosx, any Windows developers are welcome to extend to windows (should be easy), includes slider in sketch library, change to requiring jdk8\. Update to JRuby-Complete-9.1.0.0, request updated arcball (to run samples).
74
76
 
75
77
  **v0.5.0** Includes a sketch creator utility 3D still only for linux64 and macosx, any Windows developers are welcome to extend to windows (should be easy).
76
78
 
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Propane
1
+ # Propane ![Travis CI](https://travis-ci.org/ruby-processing/propane.svg)
2
2
 
3
3
  This version is intended to work with openjdk11+, @sampottinger is currently working on [vanilla processing][vanilla] which will enable JRubyArt to catch up. Unfortunately there is a cockup in debian distributions, and it is currently safer to use the Oracle version on debian (Archlinux openjdk version is fine).
4
4
 
data/Rakefile CHANGED
@@ -1,26 +1,13 @@
1
1
  # frozen_string_literal: false
2
2
  require_relative 'lib/propane/version'
3
- require 'erb'
4
-
5
- desc 'Create jar Manifest'
6
- task :create_manifest do
7
- manifest = ERB.new <<~MANIFEST
8
- Implementation-Title: rpextras (java extension for propane)
9
- Implementation-Version: <%= Propane::VERSION %>
10
- Class-Path: gluegen-rt.jar jog-all.jar
11
- MANIFEST
12
- File.open('MANIFEST.MF', 'w') do |f|
13
- f.puts(manifest.result(binding))
14
- end
15
- end
16
3
 
17
4
  task default: [:init, :compile, :install, :test, :gem]
18
5
 
19
6
  # depends on installed processing, with processing on path
20
- desc 'Create Manifest and Copy Jars'
21
- task init: :create_manifest do
22
- processing_root = File.dirname(`readlink -f $(which processing)`) # for Archlinux etc
23
- # processing_root = File.join(ENV['HOME'], 'processing-3.5.3') # alternative for debian linux etc
7
+ desc 'Copy Jars'
8
+ task :init do
9
+ # processing_root = File.dirname(`readlink -f $(which processing)`) # for Archlinux etc
10
+ processing_root = File.join(ENV['HOME'], 'processing-3.5.3') # alternative for debian linux etc
24
11
  jar_dir = File.join(processing_root, 'core', 'library')
25
12
  opengl = Dir.entries(jar_dir).grep(/amd64|macosx-universal/)
26
13
  opengl.concat %w[jogl-all.jar gluegen-rt.jar]
@@ -58,10 +45,10 @@ desc 'Test'
58
45
  task :test do
59
46
  sh 'jruby test/helper_methods_test.rb'
60
47
  # sh 'jruby test/respond_to_test.rb' Skip test on Travis to avoid Headless fail
61
- sh 'jruby test/create_test.rb'
62
- sh 'jruby test/math_tool_test.rb'
63
- sh 'jruby test/deglut_spec_test.rb'
64
- sh 'jruby test/vecmath_spec_test.rb'
48
+ sh 'jruby --dev test/create_test.rb'
49
+ sh 'jruby --dev test/math_tool_test.rb'
50
+ sh 'jruby --dev test/deglut_spec_test.rb'
51
+ sh 'jruby --dev test/vecmath_spec_test.rb'
65
52
  end
66
53
 
67
54
  desc 'clean'
@@ -6,14 +6,14 @@ class NativeFolder
6
6
 
7
7
  WIN_FORMAT = 'windows%d'.freeze
8
8
  LINUX_FORMAT = 'linux%d'.freeze
9
- # WIN_PATTERNS = [
10
- # /bccwin/i,
11
- # /cygwin/i,
12
- # /djgpp/i,
13
- # /ming/i,
14
- # /mswin/i,
15
- # /wince/i
16
- # ].freeze
9
+ WIN_PATTERNS = [
10
+ /bccwin/i,
11
+ /cygwin/i,
12
+ /djgpp/i,
13
+ /ming/i,
14
+ /mswin/i,
15
+ /wince/i
16
+ ].freeze
17
17
 
18
18
  def initialize
19
19
  @os = RbConfig::CONFIG['host_os'].downcase
@@ -21,13 +21,18 @@ class NativeFolder
21
21
  end
22
22
 
23
23
  def name
24
- return 'macosx' if os =~ /darwin/ || os =~ /mac/
25
- # return format(WIN_FORMAT, bit) if WIN_PATTERNS.include? os
24
+ return 'macosx' if /darwin|mac/.match?(os)
26
25
  return format(LINUX_FORMAT, bit) if os =~ /linux/
26
+ if WIN_PATTERNS.any? { |pat| pat =~ os }
27
+ return format(WINDOWS_FORMAT, '64') if /64/.match?(bit)
28
+ return format(WINDOWS_FORMAT, '32') if /32/.match?(bit)
29
+ end
30
+ raise 'Unsupported Architecture'
27
31
  end
28
32
 
29
33
  def extension
30
- return '*.so' if os =~ /linux/
34
+ return '*.so' if /linux/.match?(os)
35
+ return '*.dll' if WIN_PATTERNS.any? { |pat| pat =~ os }
31
36
  '*.dylib' # MacOS
32
37
  end
33
38
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Propane
3
- VERSION = '3.3.1'.freeze
3
+ VERSION = '3.4.0'
4
4
  end
data/mvnw CHANGED
@@ -54,38 +54,16 @@ case "`uname`" in
54
54
  CYGWIN*) cygwin=true ;;
55
55
  MINGW*) mingw=true;;
56
56
  Darwin*) darwin=true
57
- #
58
- # Look for the Apple JDKs first to preserve the existing behaviour, and then look
59
- # for the new JDKs provided by Oracle.
60
- #
61
- if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then
62
- #
63
- # Apple JDKs
64
- #
65
- export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
66
- fi
67
-
68
- if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then
69
- #
70
- # Apple JDKs
71
- #
72
- export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
73
- fi
74
-
75
- if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then
76
- #
77
- # Oracle JDKs
78
- #
79
- export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
80
- fi
81
-
82
- if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then
83
- #
84
- # Apple JDKs
85
- #
86
- export JAVA_HOME=`/usr/libexec/java_home`
87
- fi
88
- ;;
57
+ # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home
58
+ # See https://developer.apple.com/library/mac/qa/qa1170/_index.html
59
+ if [ -z "$JAVA_HOME" ]; then
60
+ if [ -x "/usr/libexec/java_home" ]; then
61
+ export JAVA_HOME="`/usr/libexec/java_home`"
62
+ else
63
+ export JAVA_HOME="/Library/Java/Home"
64
+ fi
65
+ fi
66
+ ;;
89
67
  esac
90
68
 
91
69
  if [ -z "$JAVA_HOME" ] ; then
@@ -130,13 +108,12 @@ if $cygwin ; then
130
108
  CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
131
109
  fi
132
110
 
133
- # For Migwn, ensure paths are in UNIX format before anything is touched
111
+ # For Mingw, ensure paths are in UNIX format before anything is touched
134
112
  if $mingw ; then
135
113
  [ -n "$M2_HOME" ] &&
136
114
  M2_HOME="`(cd "$M2_HOME"; pwd)`"
137
115
  [ -n "$JAVA_HOME" ] &&
138
116
  JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
139
- # TODO classpath?
140
117
  fi
141
118
 
142
119
  if [ -z "$JAVA_HOME" ]; then
@@ -184,27 +161,28 @@ fi
184
161
 
185
162
  CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
186
163
 
187
- # For Cygwin, switch paths to Windows format before running java
188
- if $cygwin; then
189
- [ -n "$M2_HOME" ] &&
190
- M2_HOME=`cygpath --path --windows "$M2_HOME"`
191
- [ -n "$JAVA_HOME" ] &&
192
- JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
193
- [ -n "$CLASSPATH" ] &&
194
- CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
195
- fi
196
-
197
164
  # traverses directory structure from process work directory to filesystem root
198
165
  # first directory with .mvn subdirectory is considered project base directory
199
166
  find_maven_basedir() {
200
- local basedir=$(pwd)
201
- local wdir=$(pwd)
167
+
168
+ if [ -z "$1" ]
169
+ then
170
+ echo "Path not specified to find_maven_basedir"
171
+ return 1
172
+ fi
173
+
174
+ basedir="$1"
175
+ wdir="$1"
202
176
  while [ "$wdir" != '/' ] ; do
203
177
  if [ -d "$wdir"/.mvn ] ; then
204
178
  basedir=$wdir
205
179
  break
206
180
  fi
207
- wdir=$(cd "$wdir/.."; pwd)
181
+ # workaround for JBEAP-8937 (on Solaris 10/Sparc)
182
+ if [ -d "${wdir}" ]; then
183
+ wdir=`cd "$wdir/.."; pwd`
184
+ fi
185
+ # end of workaround
208
186
  done
209
187
  echo "${basedir}"
210
188
  }
@@ -216,10 +194,109 @@ concat_lines() {
216
194
  fi
217
195
  }
218
196
 
219
- export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)}
197
+ BASE_DIR=`find_maven_basedir "$(pwd)"`
198
+ if [ -z "$BASE_DIR" ]; then
199
+ exit 1;
200
+ fi
201
+
202
+ ##########################################################################################
203
+ # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central
204
+ # This allows using the maven wrapper in projects that prohibit checking in binary data.
205
+ ##########################################################################################
206
+ if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then
207
+ if [ "$MVNW_VERBOSE" = true ]; then
208
+ echo "Found .mvn/wrapper/maven-wrapper.jar"
209
+ fi
210
+ else
211
+ if [ "$MVNW_VERBOSE" = true ]; then
212
+ echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
213
+ fi
214
+ if [ -n "$MVNW_REPOURL" ]; then
215
+ jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
216
+ else
217
+ jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
218
+ fi
219
+ while IFS="=" read key value; do
220
+ case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
221
+ esac
222
+ done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties"
223
+ if [ "$MVNW_VERBOSE" = true ]; then
224
+ echo "Downloading from: $jarUrl"
225
+ fi
226
+ wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar"
227
+ if $cygwin; then
228
+ wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"`
229
+ fi
230
+
231
+ if command -v wget > /dev/null; then
232
+ if [ "$MVNW_VERBOSE" = true ]; then
233
+ echo "Found wget ... using wget"
234
+ fi
235
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
236
+ wget "$jarUrl" -O "$wrapperJarPath"
237
+ else
238
+ wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath"
239
+ fi
240
+ elif command -v curl > /dev/null; then
241
+ if [ "$MVNW_VERBOSE" = true ]; then
242
+ echo "Found curl ... using curl"
243
+ fi
244
+ if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then
245
+ curl -o "$wrapperJarPath" "$jarUrl" -f
246
+ else
247
+ curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f
248
+ fi
249
+
250
+ else
251
+ if [ "$MVNW_VERBOSE" = true ]; then
252
+ echo "Falling back to using Java to download"
253
+ fi
254
+ javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java"
255
+ # For Cygwin, switch paths to Windows format before running javac
256
+ if $cygwin; then
257
+ javaClass=`cygpath --path --windows "$javaClass"`
258
+ fi
259
+ if [ -e "$javaClass" ]; then
260
+ if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
261
+ if [ "$MVNW_VERBOSE" = true ]; then
262
+ echo " - Compiling MavenWrapperDownloader.java ..."
263
+ fi
264
+ # Compiling the Java class
265
+ ("$JAVA_HOME/bin/javac" "$javaClass")
266
+ fi
267
+ if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then
268
+ # Running the downloader
269
+ if [ "$MVNW_VERBOSE" = true ]; then
270
+ echo " - Running MavenWrapperDownloader.java ..."
271
+ fi
272
+ ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR")
273
+ fi
274
+ fi
275
+ fi
276
+ fi
277
+ ##########################################################################################
278
+ # End of extension
279
+ ##########################################################################################
280
+
281
+ export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}
282
+ if [ "$MVNW_VERBOSE" = true ]; then
283
+ echo $MAVEN_PROJECTBASEDIR
284
+ fi
220
285
  MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
221
286
 
222
- # Provide a "standardized" way to retrieve the CLI args that will
287
+ # For Cygwin, switch paths to Windows format before running java
288
+ if $cygwin; then
289
+ [ -n "$M2_HOME" ] &&
290
+ M2_HOME=`cygpath --path --windows "$M2_HOME"`
291
+ [ -n "$JAVA_HOME" ] &&
292
+ JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
293
+ [ -n "$CLASSPATH" ] &&
294
+ CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
295
+ [ -n "$MAVEN_PROJECTBASEDIR" ] &&
296
+ MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"`
297
+ fi
298
+
299
+ # Provide a "standardized" way to retrieve the CLI args that will
223
300
  # work with both Windows and non-Windows executions.
224
301
  MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
225
302
  export MAVEN_CMD_LINE_ARGS
@@ -230,5 +307,4 @@ exec "$JAVACMD" \
230
307
  $MAVEN_OPTS \
231
308
  -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
232
309
  "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
233
- ${WRAPPER_LAUNCHER} $MAVEN_CMD_LINE_ARGS
234
-
310
+ ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@"