universa 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +6 -2
- data/bin/setup +1 -0
- data/bin/umi/bin/umi +3 -3
- data/bin/umi/bin/umi.bat +180 -180
- data/bin/umi/lib/{com.icodici.umi-0.8.7.jar → com.icodici.umi-0.8.8.jar} +0 -0
- data/exe/universa +1 -1
- data/lib/universa/string_utils.rb +9 -0
- data/lib/universa/umi.rb +8 -3
- data/lib/universa/version.rb +1 -1
- data/lib/universa.rb +1 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed104de6164cf27de489c0876518ee3394a9fb9c99a0914e6583a4f39f571942
|
4
|
+
data.tar.gz: b86327d0d5177c6f0f1d9d49e02f2689da2315a15f844458420104427200915b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0335ca25f8c9e002f15b482bf0e0bc96c10cb6f77343dae4df2101ade54855e63a8ef407a0021a95c84dfa0f4bebaca21141881922071967bca7747b60a9a276
|
7
|
+
data.tar.gz: e8e54f3825441507640af2ce38dea63aa6ac25bc770be5f11f5f2b908215f3e066d6759c5ea02afa5a61c3153d3002b00c22affe1d49a57308997f61026b1729
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
> Alfa state: direct access to Java API ready for test.
|
4
4
|
|
5
|
-
This is an under-construction official gem from [Universa][universa]
|
5
|
+
This is an under-construction official gem from [Universa][universa] to facilitate access to the
|
6
6
|
Java library using Universa's UMI protocol.
|
7
7
|
|
8
8
|
## Installation
|
@@ -36,12 +36,16 @@ require 'universa'
|
|
36
36
|
|
37
37
|
umi = Universa::UMI.new
|
38
38
|
|
39
|
-
p umi.version #=> "0.8.
|
39
|
+
p umi.version #=> "0.8.8"
|
40
40
|
key = umi.instantiate "PrivateKey", 2048
|
41
41
|
contract = umi.instantiate "Contract", key
|
42
42
|
sealed = contract.seal()
|
43
43
|
puts "Contract is ok: #{contract.check()}" #=> contract is ok: true"
|
44
44
|
puts "Contract id: #{contract.getId.toBase64String}" #=> contract id: x9Ey+q...
|
45
|
+
|
46
|
+
# ruby-style snake case could also be used:
|
47
|
+
contract_id = contract.get_id.to_base64_string
|
48
|
+
|
45
49
|
```
|
46
50
|
|
47
51
|
for more information see:
|
data/bin/setup
CHANGED
data/bin/umi/bin/umi
CHANGED
@@ -281,10 +281,10 @@ java_version_check() {
|
|
281
281
|
if [[ "$major" -eq "1" ]]; then
|
282
282
|
local major=$(echo "$java_version" | cut -d'.' -f2)
|
283
283
|
fi
|
284
|
-
if [[ "$major" -lt "
|
284
|
+
if [[ "$major" -lt "8" ]]; then
|
285
285
|
echo
|
286
286
|
echo The java installation you have is not up to date
|
287
|
-
echo $app_name requires at least version 1.
|
287
|
+
echo $app_name requires at least version 1.8+, you have
|
288
288
|
echo version $java_version
|
289
289
|
echo
|
290
290
|
echo Please go to http://www.java.com/getjava/ and download
|
@@ -344,7 +344,7 @@ declare -r lib_dir="$(realpath "${app_home}/../lib")"
|
|
344
344
|
declare -a app_mainclass=(com.icodici.farcallscala.Main)
|
345
345
|
|
346
346
|
declare -r script_conf_file="${app_home}/../conf/application.ini"
|
347
|
-
declare -r app_classpath="$lib_dir/com.icodici.umi-0.8.
|
347
|
+
declare -r app_classpath="$lib_dir/com.icodici.umi-0.8.8.jar:$lib_dir/org.scala-lang.scala-library-2.12.7.jar:$lib_dir/com.icodici.universa_core-3.8.3.jar:$lib_dir/org.yaml.snakeyaml-1.18.jar:$lib_dir/net.sf.jopt-simple.jopt-simple-4.9.jar:$lib_dir/org.postgresql.postgresql-42.1.4.jar:$lib_dir/org.xerial.sqlite-jdbc-3.8.9.1.jar:$lib_dir/com.icodici.nanohttpd-2.1.0.jar:$lib_dir/com.icodici.common_tools-3.8.3.jar:$lib_dir/com.eclipsesource.minimal-json.minimal-json-0.9.4.jar:$lib_dir/net.java.dev.jna.jna-4.5.1.jar:$lib_dir/org.checkerframework.checker-qual-2.3.2.jar:$lib_dir/com.icodici.crypto-3.8.3.jar:$lib_dir/com.madgag.spongycastle.core-1.58.0.0.jar:$lib_dir/com.squareup.jnagmp.jnagmp-2.0.0.jar:$lib_dir/com.typesafe.play.play-json_2.12-2.6.10.jar:$lib_dir/com.typesafe.play.play-functional_2.12-2.6.10.jar:$lib_dir/org.scala-lang.scala-reflect-2.12.7.jar:$lib_dir/org.typelevel.macro-compat_2.12-1.1.1.jar:$lib_dir/joda-time.joda-time-2.9.9.jar:$lib_dir/com.fasterxml.jackson.core.jackson-core-2.8.11.jar:$lib_dir/com.fasterxml.jackson.core.jackson-annotations-2.8.11.jar:$lib_dir/com.fasterxml.jackson.datatype.jackson-datatype-jdk8-2.8.11.jar:$lib_dir/com.fasterxml.jackson.core.jackson-databind-2.8.11.1.jar:$lib_dir/com.fasterxml.jackson.datatype.jackson-datatype-jsr310-2.8.11.jar:$lib_dir/org.scala-sbt.ipcsocket.ipcsocket-1.0.0.jar:$lib_dir/net.java.dev.jna.jna-platform-4.5.0.jar"
|
348
348
|
|
349
349
|
# java_cmd is overrode in process_args when -java-home is used
|
350
350
|
declare java_cmd=$(get_java_cmd)
|
data/bin/umi/bin/umi.bat
CHANGED
@@ -1,180 +1,180 @@
|
|
1
|
-
@REM umi launcher script
|
2
|
-
@REM
|
3
|
-
@REM Environment:
|
4
|
-
@REM JAVA_HOME - location of a JDK home dir (optional if java on path)
|
5
|
-
@REM CFG_OPTS - JVM options (optional)
|
6
|
-
@REM Configuration:
|
7
|
-
@REM UMI_config.txt found in the UMI_HOME.
|
8
|
-
@setlocal enabledelayedexpansion
|
9
|
-
|
10
|
-
@echo off
|
11
|
-
|
12
|
-
|
13
|
-
if "%UMI_HOME%"=="" (
|
14
|
-
set "APP_HOME=%~dp0\\.."
|
15
|
-
|
16
|
-
rem Also set the old env name for backwards compatibility
|
17
|
-
set "UMI_HOME=%~dp0\\.."
|
18
|
-
) else (
|
19
|
-
set "APP_HOME=%UMI_HOME%"
|
20
|
-
)
|
21
|
-
|
22
|
-
set "APP_LIB_DIR=%APP_HOME%\lib\"
|
23
|
-
|
24
|
-
rem Detect if we were double clicked, although theoretically A user could
|
25
|
-
rem manually run cmd /c
|
26
|
-
for %%x in (!cmdcmdline!) do if %%~x==/c set DOUBLECLICKED=1
|
27
|
-
|
28
|
-
rem FIRST we load the config file of extra options.
|
29
|
-
set "CFG_FILE=%APP_HOME%\UMI_config.txt"
|
30
|
-
set CFG_OPTS=
|
31
|
-
call :parse_config "%CFG_FILE%" CFG_OPTS
|
32
|
-
|
33
|
-
rem We use the value of the JAVACMD environment variable if defined
|
34
|
-
set _JAVACMD=%JAVACMD%
|
35
|
-
|
36
|
-
if "%_JAVACMD%"=="" (
|
37
|
-
if not "%JAVA_HOME%"=="" (
|
38
|
-
if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe"
|
39
|
-
)
|
40
|
-
)
|
41
|
-
|
42
|
-
if "%_JAVACMD%"=="" set _JAVACMD=java
|
43
|
-
|
44
|
-
rem Detect if this java is ok to use.
|
45
|
-
for /F %%j in ('"%_JAVACMD%" -version 2^>^&1') do (
|
46
|
-
if %%~j==java set JAVAINSTALLED=1
|
47
|
-
if %%~j==openjdk set JAVAINSTALLED=1
|
48
|
-
)
|
49
|
-
|
50
|
-
rem BAT has no logical or, so we do it OLD SCHOOL! Oppan Redmond Style
|
51
|
-
set JAVAOK=true
|
52
|
-
if not defined JAVAINSTALLED set JAVAOK=false
|
53
|
-
|
54
|
-
if "%JAVAOK%"=="false" (
|
55
|
-
echo.
|
56
|
-
echo A Java JDK is not installed or can't be found.
|
57
|
-
if not "%JAVA_HOME%"=="" (
|
58
|
-
echo JAVA_HOME = "%JAVA_HOME%"
|
59
|
-
)
|
60
|
-
echo.
|
61
|
-
echo Please go to
|
62
|
-
echo http://www.oracle.com/technetwork/java/javase/downloads/index.html
|
63
|
-
echo and download a valid Java JDK and install before running umi.
|
64
|
-
echo.
|
65
|
-
echo If you think this message is in error, please check
|
66
|
-
echo your environment variables to see if "java.exe" and "javac.exe" are
|
67
|
-
echo available via JAVA_HOME or PATH.
|
68
|
-
echo.
|
69
|
-
if defined DOUBLECLICKED pause
|
70
|
-
exit /B 1
|
71
|
-
)
|
72
|
-
|
73
|
-
|
74
|
-
rem We use the value of the JAVA_OPTS environment variable if defined, rather than the config.
|
75
|
-
set _JAVA_OPTS=%JAVA_OPTS%
|
76
|
-
if "!_JAVA_OPTS!"=="" set _JAVA_OPTS=!CFG_OPTS!
|
77
|
-
|
78
|
-
rem We keep in _JAVA_PARAMS all -J-prefixed and -D-prefixed arguments
|
79
|
-
rem "-J" is stripped, "-D" is left as is, and everything is appended to JAVA_OPTS
|
80
|
-
set _JAVA_PARAMS=
|
81
|
-
set _APP_ARGS=
|
82
|
-
|
83
|
-
set "APP_CLASSPATH=%APP_LIB_DIR%\com.icodici.umi-0.8.
|
84
|
-
set "APP_MAIN_CLASS=com.icodici.farcallscala.Main"
|
85
|
-
set "SCRIPT_CONF_FILE=%APP_HOME%\conf\application.ini"
|
86
|
-
|
87
|
-
rem if configuration files exist, prepend their contents to the script arguments so it can be processed by this runner
|
88
|
-
call :parse_config "%SCRIPT_CONF_FILE%" SCRIPT_CONF_ARGS
|
89
|
-
|
90
|
-
call :process_args %SCRIPT_CONF_ARGS% %%*
|
91
|
-
|
92
|
-
set _JAVA_OPTS=!_JAVA_OPTS! !_JAVA_PARAMS!
|
93
|
-
|
94
|
-
if defined CUSTOM_MAIN_CLASS (
|
95
|
-
set MAIN_CLASS=!CUSTOM_MAIN_CLASS!
|
96
|
-
) else (
|
97
|
-
set MAIN_CLASS=!APP_MAIN_CLASS!
|
98
|
-
)
|
99
|
-
|
100
|
-
rem Call the application and pass all arguments unchanged.
|
101
|
-
"%_JAVACMD%" !_JAVA_OPTS! !UMI_OPTS! -cp "%APP_CLASSPATH%" %MAIN_CLASS% !_APP_ARGS!
|
102
|
-
|
103
|
-
@endlocal
|
104
|
-
|
105
|
-
exit /B %ERRORLEVEL%
|
106
|
-
|
107
|
-
|
108
|
-
rem Loads a configuration file full of default command line options for this script.
|
109
|
-
rem First argument is the path to the config file.
|
110
|
-
rem Second argument is the name of the environment variable to write to.
|
111
|
-
:parse_config
|
112
|
-
set _PARSE_FILE=%~1
|
113
|
-
set _PARSE_OUT=
|
114
|
-
if exist "%_PARSE_FILE%" (
|
115
|
-
FOR /F "tokens=* eol=# usebackq delims=" %%i IN ("%_PARSE_FILE%") DO (
|
116
|
-
set _PARSE_OUT=!_PARSE_OUT! %%i
|
117
|
-
)
|
118
|
-
)
|
119
|
-
set %2=!_PARSE_OUT!
|
120
|
-
exit /B 0
|
121
|
-
|
122
|
-
|
123
|
-
:add_java
|
124
|
-
set _JAVA_PARAMS=!_JAVA_PARAMS! %*
|
125
|
-
exit /B 0
|
126
|
-
|
127
|
-
|
128
|
-
:add_app
|
129
|
-
set _APP_ARGS=!_APP_ARGS! %*
|
130
|
-
exit /B 0
|
131
|
-
|
132
|
-
|
133
|
-
rem Processes incoming arguments and places them in appropriate global variables
|
134
|
-
:process_args
|
135
|
-
:param_loop
|
136
|
-
call set _PARAM1=%%1
|
137
|
-
set "_TEST_PARAM=%~1"
|
138
|
-
|
139
|
-
if ["!_PARAM1!"]==[""] goto param_afterloop
|
140
|
-
|
141
|
-
|
142
|
-
rem ignore arguments that do not start with '-'
|
143
|
-
if "%_TEST_PARAM:~0,1%"=="-" goto param_java_check
|
144
|
-
set _APP_ARGS=!_APP_ARGS! !_PARAM1!
|
145
|
-
shift
|
146
|
-
goto param_loop
|
147
|
-
|
148
|
-
:param_java_check
|
149
|
-
if "!_TEST_PARAM:~0,2!"=="-J" (
|
150
|
-
rem strip -J prefix
|
151
|
-
set _JAVA_PARAMS=!_JAVA_PARAMS! !_TEST_PARAM:~2!
|
152
|
-
shift
|
153
|
-
goto param_loop
|
154
|
-
)
|
155
|
-
|
156
|
-
if "!_TEST_PARAM:~0,2!"=="-D" (
|
157
|
-
rem test if this was double-quoted property "-Dprop=42"
|
158
|
-
for /F "delims== tokens=1,*" %%G in ("!_TEST_PARAM!") DO (
|
159
|
-
if not ["%%H"] == [""] (
|
160
|
-
set _JAVA_PARAMS=!_JAVA_PARAMS! !_PARAM1!
|
161
|
-
) else if [%2] neq [] (
|
162
|
-
rem it was a normal property: -Dprop=42 or -Drop="42"
|
163
|
-
call set _PARAM1=%%1=%%2
|
164
|
-
set _JAVA_PARAMS=!_JAVA_PARAMS! !_PARAM1!
|
165
|
-
shift
|
166
|
-
)
|
167
|
-
)
|
168
|
-
) else (
|
169
|
-
if "!_TEST_PARAM!"=="-main" (
|
170
|
-
call set CUSTOM_MAIN_CLASS=%%2
|
171
|
-
shift
|
172
|
-
) else (
|
173
|
-
set _APP_ARGS=!_APP_ARGS! !_PARAM1!
|
174
|
-
)
|
175
|
-
)
|
176
|
-
shift
|
177
|
-
goto param_loop
|
178
|
-
:param_afterloop
|
179
|
-
|
180
|
-
exit /B 0
|
1
|
+
@REM umi launcher script
|
2
|
+
@REM
|
3
|
+
@REM Environment:
|
4
|
+
@REM JAVA_HOME - location of a JDK home dir (optional if java on path)
|
5
|
+
@REM CFG_OPTS - JVM options (optional)
|
6
|
+
@REM Configuration:
|
7
|
+
@REM UMI_config.txt found in the UMI_HOME.
|
8
|
+
@setlocal enabledelayedexpansion
|
9
|
+
|
10
|
+
@echo off
|
11
|
+
|
12
|
+
|
13
|
+
if "%UMI_HOME%"=="" (
|
14
|
+
set "APP_HOME=%~dp0\\.."
|
15
|
+
|
16
|
+
rem Also set the old env name for backwards compatibility
|
17
|
+
set "UMI_HOME=%~dp0\\.."
|
18
|
+
) else (
|
19
|
+
set "APP_HOME=%UMI_HOME%"
|
20
|
+
)
|
21
|
+
|
22
|
+
set "APP_LIB_DIR=%APP_HOME%\lib\"
|
23
|
+
|
24
|
+
rem Detect if we were double clicked, although theoretically A user could
|
25
|
+
rem manually run cmd /c
|
26
|
+
for %%x in (!cmdcmdline!) do if %%~x==/c set DOUBLECLICKED=1
|
27
|
+
|
28
|
+
rem FIRST we load the config file of extra options.
|
29
|
+
set "CFG_FILE=%APP_HOME%\UMI_config.txt"
|
30
|
+
set CFG_OPTS=
|
31
|
+
call :parse_config "%CFG_FILE%" CFG_OPTS
|
32
|
+
|
33
|
+
rem We use the value of the JAVACMD environment variable if defined
|
34
|
+
set _JAVACMD=%JAVACMD%
|
35
|
+
|
36
|
+
if "%_JAVACMD%"=="" (
|
37
|
+
if not "%JAVA_HOME%"=="" (
|
38
|
+
if exist "%JAVA_HOME%\bin\java.exe" set "_JAVACMD=%JAVA_HOME%\bin\java.exe"
|
39
|
+
)
|
40
|
+
)
|
41
|
+
|
42
|
+
if "%_JAVACMD%"=="" set _JAVACMD=java
|
43
|
+
|
44
|
+
rem Detect if this java is ok to use.
|
45
|
+
for /F %%j in ('"%_JAVACMD%" -version 2^>^&1') do (
|
46
|
+
if %%~j==java set JAVAINSTALLED=1
|
47
|
+
if %%~j==openjdk set JAVAINSTALLED=1
|
48
|
+
)
|
49
|
+
|
50
|
+
rem BAT has no logical or, so we do it OLD SCHOOL! Oppan Redmond Style
|
51
|
+
set JAVAOK=true
|
52
|
+
if not defined JAVAINSTALLED set JAVAOK=false
|
53
|
+
|
54
|
+
if "%JAVAOK%"=="false" (
|
55
|
+
echo.
|
56
|
+
echo A Java JDK is not installed or can't be found.
|
57
|
+
if not "%JAVA_HOME%"=="" (
|
58
|
+
echo JAVA_HOME = "%JAVA_HOME%"
|
59
|
+
)
|
60
|
+
echo.
|
61
|
+
echo Please go to
|
62
|
+
echo http://www.oracle.com/technetwork/java/javase/downloads/index.html
|
63
|
+
echo and download a valid Java JDK and install before running umi.
|
64
|
+
echo.
|
65
|
+
echo If you think this message is in error, please check
|
66
|
+
echo your environment variables to see if "java.exe" and "javac.exe" are
|
67
|
+
echo available via JAVA_HOME or PATH.
|
68
|
+
echo.
|
69
|
+
if defined DOUBLECLICKED pause
|
70
|
+
exit /B 1
|
71
|
+
)
|
72
|
+
|
73
|
+
|
74
|
+
rem We use the value of the JAVA_OPTS environment variable if defined, rather than the config.
|
75
|
+
set _JAVA_OPTS=%JAVA_OPTS%
|
76
|
+
if "!_JAVA_OPTS!"=="" set _JAVA_OPTS=!CFG_OPTS!
|
77
|
+
|
78
|
+
rem We keep in _JAVA_PARAMS all -J-prefixed and -D-prefixed arguments
|
79
|
+
rem "-J" is stripped, "-D" is left as is, and everything is appended to JAVA_OPTS
|
80
|
+
set _JAVA_PARAMS=
|
81
|
+
set _APP_ARGS=
|
82
|
+
|
83
|
+
set "APP_CLASSPATH=%APP_LIB_DIR%\com.icodici.umi-0.8.8.jar;%APP_LIB_DIR%\org.scala-lang.scala-library-2.12.7.jar;%APP_LIB_DIR%\com.icodici.universa_core-3.8.3.jar;%APP_LIB_DIR%\org.yaml.snakeyaml-1.18.jar;%APP_LIB_DIR%\net.sf.jopt-simple.jopt-simple-4.9.jar;%APP_LIB_DIR%\org.postgresql.postgresql-42.1.4.jar;%APP_LIB_DIR%\org.xerial.sqlite-jdbc-3.8.9.1.jar;%APP_LIB_DIR%\com.icodici.nanohttpd-2.1.0.jar;%APP_LIB_DIR%\com.icodici.common_tools-3.8.3.jar;%APP_LIB_DIR%\com.eclipsesource.minimal-json.minimal-json-0.9.4.jar;%APP_LIB_DIR%\net.java.dev.jna.jna-4.5.1.jar;%APP_LIB_DIR%\org.checkerframework.checker-qual-2.3.2.jar;%APP_LIB_DIR%\com.icodici.crypto-3.8.3.jar;%APP_LIB_DIR%\com.madgag.spongycastle.core-1.58.0.0.jar;%APP_LIB_DIR%\com.squareup.jnagmp.jnagmp-2.0.0.jar;%APP_LIB_DIR%\com.typesafe.play.play-json_2.12-2.6.10.jar;%APP_LIB_DIR%\com.typesafe.play.play-functional_2.12-2.6.10.jar;%APP_LIB_DIR%\org.scala-lang.scala-reflect-2.12.7.jar;%APP_LIB_DIR%\org.typelevel.macro-compat_2.12-1.1.1.jar;%APP_LIB_DIR%\joda-time.joda-time-2.9.9.jar;%APP_LIB_DIR%\com.fasterxml.jackson.core.jackson-core-2.8.11.jar;%APP_LIB_DIR%\com.fasterxml.jackson.core.jackson-annotations-2.8.11.jar;%APP_LIB_DIR%\com.fasterxml.jackson.datatype.jackson-datatype-jdk8-2.8.11.jar;%APP_LIB_DIR%\com.fasterxml.jackson.core.jackson-databind-2.8.11.1.jar;%APP_LIB_DIR%\com.fasterxml.jackson.datatype.jackson-datatype-jsr310-2.8.11.jar;%APP_LIB_DIR%\org.scala-sbt.ipcsocket.ipcsocket-1.0.0.jar;%APP_LIB_DIR%\net.java.dev.jna.jna-platform-4.5.0.jar"
|
84
|
+
set "APP_MAIN_CLASS=com.icodici.farcallscala.Main"
|
85
|
+
set "SCRIPT_CONF_FILE=%APP_HOME%\conf\application.ini"
|
86
|
+
|
87
|
+
rem if configuration files exist, prepend their contents to the script arguments so it can be processed by this runner
|
88
|
+
call :parse_config "%SCRIPT_CONF_FILE%" SCRIPT_CONF_ARGS
|
89
|
+
|
90
|
+
call :process_args %SCRIPT_CONF_ARGS% %%*
|
91
|
+
|
92
|
+
set _JAVA_OPTS=!_JAVA_OPTS! !_JAVA_PARAMS!
|
93
|
+
|
94
|
+
if defined CUSTOM_MAIN_CLASS (
|
95
|
+
set MAIN_CLASS=!CUSTOM_MAIN_CLASS!
|
96
|
+
) else (
|
97
|
+
set MAIN_CLASS=!APP_MAIN_CLASS!
|
98
|
+
)
|
99
|
+
|
100
|
+
rem Call the application and pass all arguments unchanged.
|
101
|
+
"%_JAVACMD%" !_JAVA_OPTS! !UMI_OPTS! -cp "%APP_CLASSPATH%" %MAIN_CLASS% !_APP_ARGS!
|
102
|
+
|
103
|
+
@endlocal
|
104
|
+
|
105
|
+
exit /B %ERRORLEVEL%
|
106
|
+
|
107
|
+
|
108
|
+
rem Loads a configuration file full of default command line options for this script.
|
109
|
+
rem First argument is the path to the config file.
|
110
|
+
rem Second argument is the name of the environment variable to write to.
|
111
|
+
:parse_config
|
112
|
+
set _PARSE_FILE=%~1
|
113
|
+
set _PARSE_OUT=
|
114
|
+
if exist "%_PARSE_FILE%" (
|
115
|
+
FOR /F "tokens=* eol=# usebackq delims=" %%i IN ("%_PARSE_FILE%") DO (
|
116
|
+
set _PARSE_OUT=!_PARSE_OUT! %%i
|
117
|
+
)
|
118
|
+
)
|
119
|
+
set %2=!_PARSE_OUT!
|
120
|
+
exit /B 0
|
121
|
+
|
122
|
+
|
123
|
+
:add_java
|
124
|
+
set _JAVA_PARAMS=!_JAVA_PARAMS! %*
|
125
|
+
exit /B 0
|
126
|
+
|
127
|
+
|
128
|
+
:add_app
|
129
|
+
set _APP_ARGS=!_APP_ARGS! %*
|
130
|
+
exit /B 0
|
131
|
+
|
132
|
+
|
133
|
+
rem Processes incoming arguments and places them in appropriate global variables
|
134
|
+
:process_args
|
135
|
+
:param_loop
|
136
|
+
call set _PARAM1=%%1
|
137
|
+
set "_TEST_PARAM=%~1"
|
138
|
+
|
139
|
+
if ["!_PARAM1!"]==[""] goto param_afterloop
|
140
|
+
|
141
|
+
|
142
|
+
rem ignore arguments that do not start with '-'
|
143
|
+
if "%_TEST_PARAM:~0,1%"=="-" goto param_java_check
|
144
|
+
set _APP_ARGS=!_APP_ARGS! !_PARAM1!
|
145
|
+
shift
|
146
|
+
goto param_loop
|
147
|
+
|
148
|
+
:param_java_check
|
149
|
+
if "!_TEST_PARAM:~0,2!"=="-J" (
|
150
|
+
rem strip -J prefix
|
151
|
+
set _JAVA_PARAMS=!_JAVA_PARAMS! !_TEST_PARAM:~2!
|
152
|
+
shift
|
153
|
+
goto param_loop
|
154
|
+
)
|
155
|
+
|
156
|
+
if "!_TEST_PARAM:~0,2!"=="-D" (
|
157
|
+
rem test if this was double-quoted property "-Dprop=42"
|
158
|
+
for /F "delims== tokens=1,*" %%G in ("!_TEST_PARAM!") DO (
|
159
|
+
if not ["%%H"] == [""] (
|
160
|
+
set _JAVA_PARAMS=!_JAVA_PARAMS! !_PARAM1!
|
161
|
+
) else if [%2] neq [] (
|
162
|
+
rem it was a normal property: -Dprop=42 or -Drop="42"
|
163
|
+
call set _PARAM1=%%1=%%2
|
164
|
+
set _JAVA_PARAMS=!_JAVA_PARAMS! !_PARAM1!
|
165
|
+
shift
|
166
|
+
)
|
167
|
+
)
|
168
|
+
) else (
|
169
|
+
if "!_TEST_PARAM!"=="-main" (
|
170
|
+
call set CUSTOM_MAIN_CLASS=%%2
|
171
|
+
shift
|
172
|
+
) else (
|
173
|
+
set _APP_ARGS=!_APP_ARGS! !_PARAM1!
|
174
|
+
)
|
175
|
+
)
|
176
|
+
shift
|
177
|
+
goto param_loop
|
178
|
+
:param_afterloop
|
179
|
+
|
180
|
+
exit /B 0
|
Binary file
|
data/exe/universa
CHANGED
data/lib/universa/umi.rb
CHANGED
@@ -62,7 +62,9 @@ module Universa
|
|
62
62
|
# @param [String] path to custom UMI server build. Use bundled one (leave as nil)
|
63
63
|
# @param [Regexp] version_check check version against
|
64
64
|
# @param [String] system expected on the remote side. 'UMI' us a universa umi server.
|
65
|
-
|
65
|
+
# @param [Boolean] convert_case it true, convert ruby style snake case `get_some_stuff()` to java style lower camel
|
66
|
+
# case `getSomeStuff()` while calling methods. Does not affect class names on {instantiate}.
|
67
|
+
def initialize(path = nil, version_check: /./, system: "UMI", log: 'sessionlog.txt', convert_case: true)
|
66
68
|
path ||= File.expand_path(File.split(__FILE__)[0] + "/../../bin/umi/bin/umi")
|
67
69
|
@in, @out, @err, @wtr = Open3.popen3("#{path} #{log ? "-log #{log}" : ''}")
|
68
70
|
@endpoint = Farcall::Endpoint.new(
|
@@ -71,6 +73,7 @@ module Universa
|
|
71
73
|
@lock = Monitor.new
|
72
74
|
@cache = {}
|
73
75
|
@closed = false
|
76
|
+
@convert_case = convert_case
|
74
77
|
@references = {}
|
75
78
|
start_cleanup_queue
|
76
79
|
@version = call("version")
|
@@ -81,6 +84,7 @@ module Universa
|
|
81
84
|
raise Error, "missing java binaries"
|
82
85
|
end
|
83
86
|
|
87
|
+
# @return version of the connected UMI server. It is different from the gem version.
|
84
88
|
def version
|
85
89
|
@version.version
|
86
90
|
end
|
@@ -100,6 +104,7 @@ module Universa
|
|
100
104
|
def invoke(ref, method, *args)
|
101
105
|
ensure_open
|
102
106
|
ref._umi == self or raise InterchangeError
|
107
|
+
@convert_case and method = method.to_s.camelize_lower
|
103
108
|
result = call("invoke", ref._remote_id, method, *prepare_args(args))
|
104
109
|
encode_result result
|
105
110
|
rescue
|
@@ -119,7 +124,7 @@ module Universa
|
|
119
124
|
|
120
125
|
# short data label for UMI interface
|
121
126
|
def inspect
|
122
|
-
"<
|
127
|
+
"<UMI:#{__id__}:#{version}>"
|
123
128
|
end
|
124
129
|
|
125
130
|
# debug use only. Looks for the cached e.g. (alive) remote object. Does not check
|
@@ -260,7 +265,7 @@ module Universa
|
|
260
265
|
end
|
261
266
|
|
262
267
|
def log msg
|
263
|
-
@trace and puts "
|
268
|
+
@trace and puts "UMI #{msg}"
|
264
269
|
end
|
265
270
|
|
266
271
|
end
|
data/lib/universa/version.rb
CHANGED
data/lib/universa.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: universa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sergeych
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-11-
|
11
|
+
date: 2018-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: farcall
|
@@ -95,7 +95,7 @@ files:
|
|
95
95
|
- bin/umi/lib/com.icodici.common_tools-3.8.3.jar
|
96
96
|
- bin/umi/lib/com.icodici.crypto-3.8.3.jar
|
97
97
|
- bin/umi/lib/com.icodici.nanohttpd-2.1.0.jar
|
98
|
-
- bin/umi/lib/com.icodici.umi-0.8.
|
98
|
+
- bin/umi/lib/com.icodici.umi-0.8.8.jar
|
99
99
|
- bin/umi/lib/com.icodici.universa_core-3.8.3.jar
|
100
100
|
- bin/umi/lib/com.madgag.spongycastle.core-1.58.0.0.jar
|
101
101
|
- bin/umi/lib/com.squareup.jnagmp.jnagmp-2.0.0.jar
|
@@ -112,6 +112,7 @@ files:
|
|
112
112
|
- exe/universa
|
113
113
|
- lib/universa.rb
|
114
114
|
- lib/universa/errors.rb
|
115
|
+
- lib/universa/string_utils.rb
|
115
116
|
- lib/universa/umi.rb
|
116
117
|
- lib/universa/version.rb
|
117
118
|
- lib/universa/weak_reference.rb
|