@webos-tools/cli 3.0.6 → 3.1.0

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.
Files changed (159) hide show
  1. package/.eslintignore +1 -1
  2. package/.eslintrc.js +52 -52
  3. package/APIs.js +79 -79
  4. package/CHANGELOG.md +152 -138
  5. package/LICENSE +201 -201
  6. package/README.md +218 -218
  7. package/bin/ares-config.js +199 -199
  8. package/bin/ares-device-info.js +30 -30
  9. package/bin/ares-device.js +219 -219
  10. package/bin/ares-generate.js +274 -270
  11. package/bin/ares-inspect.js +179 -179
  12. package/bin/ares-install.js +223 -223
  13. package/bin/ares-launch.js +318 -318
  14. package/bin/ares-log.js +255 -255
  15. package/bin/ares-novacom.js +220 -223
  16. package/bin/ares-package.js +336 -336
  17. package/bin/ares-pull.js +156 -156
  18. package/bin/ares-push.js +155 -155
  19. package/bin/ares-server.js +174 -174
  20. package/bin/ares-setup-device.js +528 -520
  21. package/bin/ares-shell.js +132 -132
  22. package/bin/ares.js +166 -166
  23. package/files/conf/ares.json +49 -49
  24. package/files/conf/command-service.json +73 -73
  25. package/files/conf/config.json +31 -22
  26. package/files/conf/ipk.json +30 -30
  27. package/files/conf/novacom-devices.json +35 -35
  28. package/files/conf/query/query-app.json +14 -14
  29. package/files/conf/query/query-hosted.json +18 -18
  30. package/files/conf/query/query-package.json +10 -10
  31. package/files/conf/query/query-service.json +6 -6
  32. package/files/conf/sdk.json +8 -8
  33. package/files/conf/template.json +57 -57
  34. package/files/conf/webos_emul +27 -27
  35. package/files/conf-base/env/sdk-ose.json +8 -8
  36. package/files/conf-base/env/sdk-tv.json +8 -8
  37. package/files/conf-base/profile/config-ose.json +29 -21
  38. package/files/conf-base/profile/config-tv.json +31 -22
  39. package/files/conf-base/query/query-app.json +14 -14
  40. package/files/conf-base/query/query-hosted.json +18 -18
  41. package/files/conf-base/query/query-package.json +10 -10
  42. package/files/conf-base/query/query-service.json +6 -6
  43. package/files/conf-base/template-conf/ose-templates.json +67 -67
  44. package/files/conf-base/template-conf/tv-sdk-templates.json +57 -57
  45. package/files/help/ares-config.help +43 -43
  46. package/files/help/ares-device.help +94 -94
  47. package/files/help/ares-generate.help +65 -65
  48. package/files/help/ares-inspect.help +70 -70
  49. package/files/help/ares-install.help +90 -90
  50. package/files/help/ares-launch.help +100 -100
  51. package/files/help/ares-log-pmlogd.help +84 -84
  52. package/files/help/ares-log.help +101 -101
  53. package/files/help/ares-novacom.help +68 -68
  54. package/files/help/ares-package.help +101 -101
  55. package/files/help/ares-pull.help +38 -38
  56. package/files/help/ares-push.help +38 -38
  57. package/files/help/ares-server.help +39 -39
  58. package/files/help/ares-setup-device.help +116 -75
  59. package/files/help/ares-shell.help +42 -42
  60. package/files/help/ares.help +47 -47
  61. package/files/help/readme.help +23 -23
  62. package/files/schema/ApplicationDescription.schema +319 -319
  63. package/files/schema/NovacomDevices.schema +61 -61
  64. package/files/templates/ose-sdk-templates/appinfo/appinfo.json +10 -10
  65. package/files/templates/ose-sdk-templates/bootplate-web/index.html +88 -88
  66. package/files/templates/ose-sdk-templates/hosted-webapp/index.html +13 -13
  67. package/files/templates/ose-sdk-templates/icon/icon.png +0 -0
  68. package/files/templates/ose-sdk-templates/js-service/helloclient.js +31 -31
  69. package/files/templates/ose-sdk-templates/js-service/helloworld_webos_service.js +188 -188
  70. package/files/templates/ose-sdk-templates/qml-app/main.qml +68 -68
  71. package/files/templates/ose-sdk-templates/qmlappinfo/appinfo.json +10 -10
  72. package/files/templates/ose-sdk-templates/serviceinfo/package.json +11 -11
  73. package/files/templates/ose-sdk-templates/serviceinfo/services.json +8 -8
  74. package/files/templates/tv-sdk-templates/appinfo/appinfo.json +10 -10
  75. package/files/templates/tv-sdk-templates/bootplate-web/index.html +58 -58
  76. package/files/templates/tv-sdk-templates/bootplate-web/webOSTVjs-1.2.10/LICENSE-2.0.txt +202 -202
  77. package/files/templates/tv-sdk-templates/hosted-webapp/index.html +14 -14
  78. package/files/templates/tv-sdk-templates/js-service/helloworld_service.js +39 -39
  79. package/files/templates/tv-sdk-templates/packageinfo/packageinfo.json +3 -3
  80. package/files/templates/tv-sdk-templates/serviceinfo/package.json +11 -11
  81. package/files/templates/tv-sdk-templates/serviceinfo/services.json +8 -8
  82. package/files/templates/tv-sdk-templates/webicon/icon.png +0 -0
  83. package/files/templates/tv-sdk-templates/webicon/largeIcon.png +0 -0
  84. package/lib/base/ares.html +40 -40
  85. package/lib/base/cli-appdata.js +290 -290
  86. package/lib/base/cli-control.js +44 -44
  87. package/lib/base/common-tools.js +29 -29
  88. package/lib/base/error-handler.js +265 -265
  89. package/lib/base/file-watcher.js +155 -155
  90. package/lib/base/help-format.js +147 -147
  91. package/lib/base/luna.js +178 -178
  92. package/lib/base/novacom.js +1191 -1191
  93. package/lib/base/sdkenv.js +59 -59
  94. package/lib/base/server.js +137 -137
  95. package/lib/base/setup-device.js +335 -328
  96. package/lib/base/version-tools.js +79 -79
  97. package/lib/device.js +1419 -1419
  98. package/lib/generator.js +377 -377
  99. package/lib/inspect.js +494 -494
  100. package/lib/install.js +463 -463
  101. package/lib/launch.js +605 -605
  102. package/lib/log.js +584 -584
  103. package/lib/package.js +2147 -2129
  104. package/lib/pull.js +231 -231
  105. package/lib/pusher.js +210 -210
  106. package/lib/session.js +74 -74
  107. package/lib/shell.js +193 -193
  108. package/lib/tar-filter-pack.js +62 -62
  109. package/lib/util/copy.js +31 -31
  110. package/lib/util/createFileName.js +40 -40
  111. package/lib/util/eof.js +30 -30
  112. package/lib/util/json.js +63 -63
  113. package/lib/util/merge.js +14 -14
  114. package/lib/util/objclone.js +40 -40
  115. package/lib/util/spinner.js +37 -37
  116. package/npm-shrinkwrap.json +9242 -9116
  117. package/package.json +100 -100
  118. package/scripts/postinstall.js +24 -24
  119. package/spec/helpers/reporter.js +65 -65
  120. package/spec/jsSpecs/apiTest/generator.spec.js +372 -372
  121. package/spec/jsSpecs/apiTest/inspector.spec.js +89 -89
  122. package/spec/jsSpecs/apiTest/installer.spec.js +67 -67
  123. package/spec/jsSpecs/apiTest/launcher.spec.js +150 -150
  124. package/spec/jsSpecs/apiTest/packager.spec.js +194 -194
  125. package/spec/jsSpecs/apiTest/puller.spec.js +101 -101
  126. package/spec/jsSpecs/apiTest/pusher.spec.js +103 -103
  127. package/spec/jsSpecs/apiTest/server.spec.js +115 -115
  128. package/spec/jsSpecs/apiTest/setupDevice.spec.js +93 -93
  129. package/spec/jsSpecs/apiTest/shell.spec.js +49 -49
  130. package/spec/jsSpecs/ares-config.spec.js +78 -78
  131. package/spec/jsSpecs/ares-device.spec.js +443 -443
  132. package/spec/jsSpecs/ares-generate.spec.js +397 -397
  133. package/spec/jsSpecs/ares-inspect.spec.js +252 -252
  134. package/spec/jsSpecs/ares-install.spec.js +150 -150
  135. package/spec/jsSpecs/ares-launch.spec.js +301 -301
  136. package/spec/jsSpecs/ares-log.spec.js +824 -824
  137. package/spec/jsSpecs/ares-novacom.spec.js +149 -149
  138. package/spec/jsSpecs/ares-package.spec.js +1211 -1211
  139. package/spec/jsSpecs/ares-pull.spec.js +157 -157
  140. package/spec/jsSpecs/ares-push.spec.js +146 -146
  141. package/spec/jsSpecs/ares-server.spec.js +160 -160
  142. package/spec/jsSpecs/ares-setup-device.spec.js +300 -281
  143. package/spec/jsSpecs/ares-shell.spec.js +220 -220
  144. package/spec/jsSpecs/ares.spec.js +83 -83
  145. package/spec/jsSpecs/common-spec.js +169 -169
  146. package/spec/support/jasmine.json +22 -22
  147. package/spec/tempFiles/nativeApp/auto/pkg_arm64/GLES2 +0 -0
  148. package/spec/tempFiles/nativeApp/auto/pkg_arm64/appinfo.json +9 -9
  149. package/spec/tempFiles/nativeApp/ose/pkg_arm/Hello +0 -0
  150. package/spec/tempFiles/nativeApp/ose/pkg_arm/appinfo.json +8 -8
  151. package/spec/tempFiles/nativeApp/ose/pkg_arm/package.properties +2 -2
  152. package/spec/tempFiles/nativeApp/oseEmul/pkg_x86/Hello +0 -0
  153. package/spec/tempFiles/nativeApp/oseEmul/pkg_x86/appinfo.json +9 -9
  154. package/spec/tempFiles/nativeApp/rsi/pkg_x86/GLES2 +0 -0
  155. package/spec/tempFiles/nativeApp/rsi/pkg_x86/appinfo.json +9 -9
  156. package/spec/tempFiles/sign/sign.crt +32 -32
  157. package/spec/tempFiles/sign/signPriv.key +52 -52
  158. package/spec/test_data/ares-generate.json +41 -41
  159. package/spec/test_data/ares.json +33 -33
@@ -1,169 +1,169 @@
1
- /*
2
- * Copyright (c) 2020-2024 LG Electronics Inc.
3
- *
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
-
7
- const path = require('path'),
8
- fs = require('fs'),
9
- nopt = require('nopt'),
10
- exec = require('child_process').exec,
11
- shelljs = require('shelljs');
12
-
13
- const commonSpec = {};
14
- const options = {
15
- profile: "ose",
16
- device: "emulator",
17
- ip: "127.0.0.1",
18
- port: 6622,
19
- pkgId: "com.jasmine.web.app",
20
- pkgService: "com.jasmine.web.app.service",
21
- ipkFile: "com.jasmine.web.app_0.0.1_all.ipk",
22
- ipkPath: path.join(__dirname, "..", "tempFiles", "com.jasmine.web.app_0.0.1_all.ipk"),
23
- passPhrase: ""
24
- };
25
-
26
- if (typeof module !== 'undefined' && module.exports) {
27
- module.exports = commonSpec;
28
- }
29
-
30
- const knownOpts = {
31
- "profile": String,
32
- "device": String,
33
- "ip": String,
34
- "port": String,
35
- "timeInterval": Number,
36
- "passPhrase": String
37
- };
38
- const shortHands = {
39
- "p": ["--profile"],
40
- "d": ["--device"],
41
- "ip": ["--ip"],
42
- "port": ["--port"],
43
- "ti": ["--timeInterval"],
44
- "pp": ["--passPhrase"]
45
- };
46
-
47
- commonSpec.getOptions = function() {
48
- return new Promise(function(resolve, reject) {
49
- const argv = nopt(knownOpts, shortHands, process.argv, 2);
50
-
51
- if (argv.profile) {
52
- options.profile = argv.profile;
53
- }
54
- if (argv.device) {
55
- options.device = argv.device;
56
- }
57
- if (argv.ip) {
58
- options.ip = argv.ip;
59
- }
60
- if (options.device !== "emulator") {
61
- options.port = argv.port ? argv.port : 22;
62
- }
63
- if (argv.timeInterval) {
64
- jasmine.DEFAULT_TIMEOUT_INTERVAL = argv.timeInterval;
65
- }
66
- if (argv.profile === "tv" && !argv.passPhrase) {
67
- console.error("[Tips] If you want to run a unit test with for tv profile, need the Passphrase value of the device in use.");
68
- process.exit(1);
69
- }
70
- options.passPhrase = argv.passPhrase;
71
- console.info(`profile : ${options.profile}, device : ${options.device}, ip : ${options.ip}, port : ${options.port}, timeInterval : ${jasmine.DEFAULT_TIMEOUT_INTERVAL}, passPhrase : ${options.passPhrase}`);
72
-
73
- // set profile
74
- const cmd = commonSpec.makeCmd('ares-config');
75
- exec(cmd + ` -p ${options.profile}`, function(error, stdout) {
76
- if (error) {
77
- console.error("set config error " + error);
78
- reject(stdout);
79
- }
80
- resolve(options);
81
- });
82
-
83
- options.skipTxt = `In case of ${options.profile}, skip this test case`;
84
- });
85
- };
86
-
87
- commonSpec.getExpectedResult = function(aresCmd) {
88
- return new Promise(function(resolve) {
89
- try {
90
- const text = fs.readFileSync(path.join(__dirname, "../test_data", aresCmd + '.json'), 'utf8');
91
- const resultJson = JSON.parse(text);
92
- resolve(resultJson[options.profile]);
93
- } catch(err) {
94
- console.error(err);
95
- process.exit(1);
96
- }
97
- });
98
- };
99
-
100
- commonSpec.resetDeviceList = function() {
101
- return new Promise(function(resolve, reject) {
102
- const cmd = commonSpec.makeCmd('ares-setup-device');
103
- exec(cmd + ' -R', function(error, stdout, stderr) {
104
- if (!stderr) {
105
- resolve(true);
106
- } else {
107
- reject(error);
108
- }
109
- });
110
- });
111
- };
112
-
113
- commonSpec.addDeviceInfo = function() {
114
- return new Promise(function(resolve, reject) {
115
- const cmd = commonSpec.makeCmd('ares-setup-device');
116
- exec(cmd + ` -a ${options.device} -i port=${options.port} -i username=root -i host=${options.ip} -i default=true`,
117
- function(error, stdout, stderr) {
118
- if (stderr) {
119
- reject(stderr);
120
- } else {
121
- resolve(stdout);
122
- if (options.profile === "tv") {
123
- commonSpec.getKey(options.passPhrase);
124
- }
125
- }
126
- });
127
- });
128
- };
129
-
130
- commonSpec.makeCmd = function(cmd) {
131
- return `node ${path.join('bin', cmd + '.js')}`;
132
- };
133
-
134
- commonSpec.createOutDir = function(filePath, mode) {
135
- if (!fs.existsSync(filePath)) {
136
- shelljs.mkdir(filePath);
137
- }
138
-
139
- if (mode) {
140
- fs.chmodSync(filePath, mode);
141
- }
142
- };
143
-
144
- commonSpec.removeOutDir = function(filePath) {
145
- if (fs.existsSync(filePath)) {
146
- shelljs.rm('-rf', filePath);
147
- }
148
- };
149
-
150
- commonSpec.detectNodeMessage = function(stderr) {
151
- if (stderr.includes("node:")) {
152
- return fail(stderr);
153
- }
154
- };
155
-
156
- // get ssh private key
157
- commonSpec.getKey = function(passPhrase) {
158
- return new Promise(function(resolve, reject) {
159
- const cmd = commonSpec.makeCmd('ares-novacom');
160
- exec(cmd + ` -k -pass ${passPhrase} -d ${options.device}`,
161
- function(error, stdout, stderr) {
162
- if (stderr) {
163
- reject(stderr);
164
- } else {
165
- resolve(stdout);
166
- }
167
- });
168
- });
169
- };
1
+ /*
2
+ * Copyright (c) 2020-2024 LG Electronics Inc.
3
+ *
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ const path = require('path'),
8
+ fs = require('fs'),
9
+ nopt = require('nopt'),
10
+ exec = require('child_process').exec,
11
+ shelljs = require('shelljs');
12
+
13
+ const commonSpec = {};
14
+ const options = {
15
+ profile: "ose",
16
+ device: "emulator",
17
+ ip: "127.0.0.1",
18
+ port: 6622,
19
+ pkgId: "com.jasmine.web.app",
20
+ pkgService: "com.jasmine.web.app.service",
21
+ ipkFile: "com.jasmine.web.app_0.0.1_all.ipk",
22
+ ipkPath: path.join(__dirname, "..", "tempFiles", "com.jasmine.web.app_0.0.1_all.ipk"),
23
+ passPhrase: ""
24
+ };
25
+
26
+ if (typeof module !== 'undefined' && module.exports) {
27
+ module.exports = commonSpec;
28
+ }
29
+
30
+ const knownOpts = {
31
+ "profile": String,
32
+ "device": String,
33
+ "ip": String,
34
+ "port": String,
35
+ "timeInterval": Number,
36
+ "passPhrase": String
37
+ };
38
+ const shortHands = {
39
+ "p": ["--profile"],
40
+ "d": ["--device"],
41
+ "ip": ["--ip"],
42
+ "port": ["--port"],
43
+ "ti": ["--timeInterval"],
44
+ "pp": ["--passPhrase"]
45
+ };
46
+
47
+ commonSpec.getOptions = function() {
48
+ return new Promise(function(resolve, reject) {
49
+ const argv = nopt(knownOpts, shortHands, process.argv, 2);
50
+
51
+ if (argv.profile) {
52
+ options.profile = argv.profile;
53
+ }
54
+ if (argv.device) {
55
+ options.device = argv.device;
56
+ }
57
+ if (argv.ip) {
58
+ options.ip = argv.ip;
59
+ }
60
+ if (options.device !== "emulator") {
61
+ options.port = argv.port ? argv.port : 22;
62
+ }
63
+ if (argv.timeInterval) {
64
+ jasmine.DEFAULT_TIMEOUT_INTERVAL = argv.timeInterval;
65
+ }
66
+ if (argv.profile === "tv" && !argv.passPhrase) {
67
+ console.error("[Tips] If you want to run a unit test with for tv profile, need the Passphrase value of the device in use.");
68
+ process.exit(1);
69
+ }
70
+ options.passPhrase = argv.passPhrase;
71
+ console.info(`profile : ${options.profile}, device : ${options.device}, ip : ${options.ip}, port : ${options.port}, timeInterval : ${jasmine.DEFAULT_TIMEOUT_INTERVAL}, passPhrase : ${options.passPhrase}`);
72
+
73
+ // set profile
74
+ const cmd = commonSpec.makeCmd('ares-config');
75
+ exec(cmd + ` -p ${options.profile}`, function(error, stdout) {
76
+ if (error) {
77
+ console.error("set config error " + error);
78
+ reject(stdout);
79
+ }
80
+ resolve(options);
81
+ });
82
+
83
+ options.skipTxt = `In case of ${options.profile}, skip this test case`;
84
+ });
85
+ };
86
+
87
+ commonSpec.getExpectedResult = function(aresCmd) {
88
+ return new Promise(function(resolve) {
89
+ try {
90
+ const text = fs.readFileSync(path.join(__dirname, "../test_data", aresCmd + '.json'), 'utf8');
91
+ const resultJson = JSON.parse(text);
92
+ resolve(resultJson[options.profile]);
93
+ } catch(err) {
94
+ console.error(err);
95
+ process.exit(1);
96
+ }
97
+ });
98
+ };
99
+
100
+ commonSpec.resetDeviceList = function() {
101
+ return new Promise(function(resolve, reject) {
102
+ const cmd = commonSpec.makeCmd('ares-setup-device');
103
+ exec(cmd + ' -R', function(error, stdout, stderr) {
104
+ if (!stderr) {
105
+ resolve(true);
106
+ } else {
107
+ reject(error);
108
+ }
109
+ });
110
+ });
111
+ };
112
+
113
+ commonSpec.addDeviceInfo = function() {
114
+ return new Promise(function(resolve, reject) {
115
+ const cmd = commonSpec.makeCmd('ares-setup-device');
116
+ exec(cmd + ` -a ${options.device} -i port=${options.port} -i username=root -i host=${options.ip} -i default=true`,
117
+ function(error, stdout, stderr) {
118
+ if (stderr) {
119
+ reject(stderr);
120
+ } else {
121
+ resolve(stdout);
122
+ if (options.profile === "tv") {
123
+ commonSpec.getKey(options.passPhrase);
124
+ }
125
+ }
126
+ });
127
+ });
128
+ };
129
+
130
+ commonSpec.makeCmd = function(cmd) {
131
+ return `node ${path.join('bin', cmd + '.js')}`;
132
+ };
133
+
134
+ commonSpec.createOutDir = function(filePath, mode) {
135
+ if (!fs.existsSync(filePath)) {
136
+ shelljs.mkdir(filePath);
137
+ }
138
+
139
+ if (mode) {
140
+ fs.chmodSync(filePath, mode);
141
+ }
142
+ };
143
+
144
+ commonSpec.removeOutDir = function(filePath) {
145
+ if (fs.existsSync(filePath)) {
146
+ shelljs.rm('-rf', filePath);
147
+ }
148
+ };
149
+
150
+ commonSpec.detectNodeMessage = function(stderr) {
151
+ if (stderr.includes("node:")) {
152
+ return fail(stderr);
153
+ }
154
+ };
155
+
156
+ // get ssh private key
157
+ commonSpec.getKey = function(passPhrase) {
158
+ return new Promise(function(resolve, reject) {
159
+ const cmd = commonSpec.makeCmd('ares-novacom');
160
+ exec(cmd + ` -k -pass ${passPhrase} -d ${options.device}`,
161
+ function(error, stdout, stderr) {
162
+ if (stderr) {
163
+ reject(stderr);
164
+ } else {
165
+ resolve(stdout);
166
+ }
167
+ });
168
+ });
169
+ };
@@ -1,22 +1,22 @@
1
- {
2
- "spec_dir": "spec",
3
- "spec_files": [
4
- "jsSpecs/ares-config.spec.js",
5
- "jsSpecs/ares-generate.spec.js",
6
- "jsSpecs/ares-inspect.spec.js",
7
- "jsSpecs/ares-install.spec.js",
8
- "jsSpecs/ares-launch.spec.js",
9
- "jsSpecs/ares-package.spec.js",
10
- "jsSpecs/ares-pull.spec.js",
11
- "jsSpecs/ares-push.spec.js",
12
- "jsSpecs/ares-server.spec.js",
13
- "jsSpecs/ares-setup-device.spec.js",
14
- "jsSpecs/ares-shell.spec.js",
15
- "jsSpecs/ares.spec.js",
16
- "jsSpecs/ares-device.spec.js",
17
- "jsSpecs/ares-log.spec.js"
18
- ],
19
- "helpers": [
20
- "helpers/**/*.js"
21
- ]
22
- }
1
+ {
2
+ "spec_dir": "spec",
3
+ "spec_files": [
4
+ "jsSpecs/ares-config.spec.js",
5
+ "jsSpecs/ares-generate.spec.js",
6
+ "jsSpecs/ares-inspect.spec.js",
7
+ "jsSpecs/ares-install.spec.js",
8
+ "jsSpecs/ares-launch.spec.js",
9
+ "jsSpecs/ares-package.spec.js",
10
+ "jsSpecs/ares-pull.spec.js",
11
+ "jsSpecs/ares-push.spec.js",
12
+ "jsSpecs/ares-server.spec.js",
13
+ "jsSpecs/ares-setup-device.spec.js",
14
+ "jsSpecs/ares-shell.spec.js",
15
+ "jsSpecs/ares.spec.js",
16
+ "jsSpecs/ares-device.spec.js",
17
+ "jsSpecs/ares-log.spec.js"
18
+ ],
19
+ "helpers": [
20
+ "helpers/**/*.js"
21
+ ]
22
+ }
File without changes
@@ -1,9 +1,9 @@
1
- {
2
- "id": "com.sample.gles2",
3
- "version": "1.0.0",
4
- "vendor": "LG Electronics",
5
- "type": "native",
6
- "main": "GLES2",
7
- "title": "gles2 sample",
8
- "icon": "icon.png"
9
- }
1
+ {
2
+ "id": "com.sample.gles2",
3
+ "version": "1.0.0",
4
+ "vendor": "LG Electronics",
5
+ "type": "native",
6
+ "main": "GLES2",
7
+ "title": "gles2 sample",
8
+ "icon": "icon.png"
9
+ }
File without changes
@@ -1,9 +1,9 @@
1
- {
2
- "id": "com.ose.target.native",
3
- "version": "1.0.0",
4
- "vendor": "LG Electronics",
5
- "type": "native",
6
- "main": "Hello",
7
- "title": "ose native app",
8
- "icon": "icon.png"
1
+ {
2
+ "id": "com.ose.target.native",
3
+ "version": "1.0.0",
4
+ "vendor": "LG Electronics",
5
+ "type": "native",
6
+ "main": "Hello",
7
+ "title": "ose native app",
8
+ "icon": "icon.png"
9
9
  }
@@ -1,2 +1,2 @@
1
- filemode.777=Hello
2
- filemode.777=appinfo.json
1
+ filemode.777=Hello
2
+ filemode.777=appinfo.json
File without changes
@@ -1,9 +1,9 @@
1
- {
2
- "id": "com.ose.emul.native",
3
- "version": "1.0.0",
4
- "vendor": "LG Electronics",
5
- "type": "native",
6
- "main": "Hello",
7
- "title": "ose native app",
8
- "icon": "icon.png"
9
- }
1
+ {
2
+ "id": "com.ose.emul.native",
3
+ "version": "1.0.0",
4
+ "vendor": "LG Electronics",
5
+ "type": "native",
6
+ "main": "Hello",
7
+ "title": "ose native app",
8
+ "icon": "icon.png"
9
+ }
File without changes
@@ -1,9 +1,9 @@
1
- {
2
- "id": "com.sample.gles2",
3
- "version": "1.0.0",
4
- "vendor": "LG Electronics",
5
- "type": "native",
6
- "main": "GLES2",
7
- "title": "gles2 sample",
8
- "icon": "icon.png"
9
- }
1
+ {
2
+ "id": "com.sample.gles2",
3
+ "version": "1.0.0",
4
+ "vendor": "LG Electronics",
5
+ "type": "native",
6
+ "main": "GLES2",
7
+ "title": "gles2 sample",
8
+ "icon": "icon.png"
9
+ }
@@ -1,32 +1,32 @@
1
- -----BEGIN CERTIFICATE-----
2
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 8haIK95b9AqrYRLcNmwxYInlaUidwygNVoLah3iJF9bQwGCRbf1Fu1ABBPOx1Sho
22
- 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
- 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
- 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
- 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
- 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
- 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
- nLoayXHgqGZZybm8FX6Z9KzN3Bs8Vt/xJGUSTa9x0igsFSGQr3o3aOV8QExE/LHb
29
- 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
- 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
31
- AC8QMXbbcHuTR8Rgd+cNJo0c1vuy
32
- -----END CERTIFICATE-----
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIFgTCCA2mgAwIBAgIJAJqAm4XNNsaJMA0GCSqGSIb3DQEBCwUAMFcxCzAJBgNV
3
+ BAYTAktPMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
4
+ aWRnaXRzIFB0eSBMdGQxEDAOBgNVBAMMB1NES19DTEkwHhcNMTkwNDA0MDcwMzUw
5
+ WhcNMTkwNTA0MDcwMzUwWjBXMQswCQYDVQQGEwJLTzETMBEGA1UECAwKU29tZS1T
6
+ dGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRAwDgYDVQQD
7
+ DAdTREtfQ0xJMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEArLeHWy6a
8
+ Jcpe09Ac1MnlkXp+UrgWz/bKvz8IuVl0mejU3X1W0klDS47Rq6zz4+VagGMlTbEK
9
+ arAdXRfagTNTBwmFl6evvmOfFjGizszLF9SoPu1ZOEzn5xn0OFgGsFf57QCgX+fs
10
+ jlVmwGfgX+JZnoGdTb2i+dsDMmub4HZTUaFmS3i046jfe8WWWnRKbSeTdyRNx0Of
11
+ EFPk7LOGEraQ/pMfBVXD/mTCFXpZnZz498QJOZ1kOy2j6M8dDtrILR65AVrvNZMy
12
+ W1lhZfRf0+A9iX7kR368Jqhd135YB/fE+0KGgp2zxlUV8qJI34ZQcMuATAu9x+to
13
+ sobKEM268queeSdUZWnAzdRmpPG86lttVSvVT1lrNWsPIpj3wkurnFBJ17fWkJT4
14
+ djIbtumS2ZS2lhc9P32y4bGQRdECi0FWrztTgY6iOhU/HUB4WNvn9wGsZdQlgaSK
15
+ vQZRhIQb1a+bbzogsSGg7lVJu5kp97zg2csQwLoG6/j72cSbhA3Tr1C4n6OB80RE
16
+ N4tqJI5c1ssZA07VcH5bWlDEFOiBmFOUlflw+i9aCBKcJeolJwM4oaS5hPZ7YqqH
17
+ cZsjFZiVv1PKSluNcoXWVj8+rpoyXfvpigZS2xzkyZhgA2aG3WQdkaC+6RTQOLhb
18
+ E4kBie/Zv4gOAwAyFfFp/NjvDV6nWHp14lcCAwEAAaNQME4wHQYDVR0OBBYEFDki
19
+ ZNcGZCH2dVfURaRor5abtV3uMB8GA1UdIwQYMBaAFDkiZNcGZCH2dVfURaRor5ab
20
+ tV3uMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBADMiOgyoXF1OD0FR
21
+ 8haIK95b9AqrYRLcNmwxYInlaUidwygNVoLah3iJF9bQwGCRbf1Fu1ABBPOx1Sho
22
+ Dvwny6Zq6sAZ2YdXPV0XTT/Sxb3pJmUy92y2OXP1jv9xKfBbI0rEeybjbyjDW2zL
23
+ b5FK/Dmv1C8bXCiBm6e/BeSi0iOROM89RGMYxPSGLw6KTGYqQ+zXwBolO9YKTAya
24
+ 698sbxJqnhx9faedQuNDDDNST1zrULSxNr4eidtktkgGx5v/VPt4kC+CshoNQLFg
25
+ skEywIhgck0rHFFnbTmeGXOcp0ciTuTjGKWwo/8pgLx6vUN2Zf+y35nSFCnXC55Z
26
+ OWeaWmk1j7X1voRwMXMt06zjzTq0fBtGzxqv7dlSCYtGulxk9eGijOrvPAg3WYhF
27
+ QPl9qM5fe61DiSH+GgztC9xA76g2ui5L9HUehtnRzhOoYo8yc5mqivYoGiAH5/Ss
28
+ nLoayXHgqGZZybm8FX6Z9KzN3Bs8Vt/xJGUSTa9x0igsFSGQr3o3aOV8QExE/LHb
29
+ Y0xaoyAO2bZsHw75CkzCIu0BSyMI5dRcVTqf1gvQodmmlSBUbZaL1Kr/IHOWgWfh
30
+ BtuLIv9/IMst2vDIQKiawcK9mQddC0dsO9IzsyCOJyJP0dZ38/9joQgipeMevKm4
31
+ AC8QMXbbcHuTR8Rgd+cNJo0c1vuy
32
+ -----END CERTIFICATE-----
@@ -1,52 +1,52 @@
1
- -----BEGIN PRIVATE KEY-----
2
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- m8egg4b7UKSCskJNdAhqUZGhUzjwtLW8YXUpfAgcO7Hol3nh1Bte0eiR4l8byoQr
22
- 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
- TpsgZdDasZM2LO2nUPqoDPGS1lVEJcR5fweGlE+Nek8cIddHDV+6MOjWcj+N/eEb
24
- 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
- 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
- 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
- 1LEUOmAaERxpHhOX7E56NH8GozoB9sOY+nBlGVbDRMsDQvKdMQbM2KFsgkyEyRGv
28
- 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
- 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
- 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
- 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
- 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
- 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
- nlUyRtbzX03kB1KviTKQD3+1xK5s7fYGapLZZ4ppj3LKyzDVOCcwHSV20f4/950Q
35
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- mqGdrSKDsIZZSoQdZJDuuFCAe4YmIRggakviSNRnXWCkSWBL+78olI5jRr6V4o8l
43
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
51
- AF3ZJ1lRJMS0vOAPpxMYZ8MTAq4qwQ==
52
- -----END PRIVATE KEY-----
1
+ -----BEGIN PRIVATE KEY-----
2
+ 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
51
+ AF3ZJ1lRJMS0vOAPpxMYZ8MTAq4qwQ==
52
+ -----END PRIVATE KEY-----