Skip to content

Commit e45d89a

Browse files
author
Mihail Slavchev
committed
generate metadata files and copy them to the project folder
1 parent b2241e3 commit e45d89a

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

lib/services/android-project-service.ts

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,24 @@ class AndroidProjectService implements IPlatformProjectService {
121121
}).future<string>()();
122122
}
123123

124+
private updateMetadata(projectRoot: string): void {
125+
var projMetadataDir = path.join(projectRoot, "assets", "metadata");
126+
var libsmetadataDir = path.join(projectRoot, "../../lib", this.platformData.normalizedPlatformName, "__metadata");
127+
shell.cp("-f", path.join(libsmetadataDir, "*.dat"), projMetadataDir);
128+
}
129+
124130
private generateMetadata(projectRoot: string): void {
125131
var metadataGeneratorPath = path.join(__dirname, "../../resources/tools/metadata-generator.jar");
126-
var currPlatformDir = path.join(projectRoot, "../../lib", this.platformData.normalizedPlatformName);
127-
var inputDir = path.join(currPlatformDir, "__jars");
128-
var outDir = path.join(currPlatformDir, "__metadata");
132+
var libsFolder = path.join(projectRoot, "../../lib", this.platformData.normalizedPlatformName);
133+
var metadataDirName = "__metadata";
134+
var inputDir = libsFolder;
135+
var outDir = path.join(libsFolder, metadataDirName);
129136
this.$fs.ensureDirectoryExists(outDir).wait();
137+
138+
shell.cp("-f", path.join(__dirname, "../../resources/tools/android-17.jar"), inputDir);
139+
shell.cp("-f", path.join(__dirname, "../../resources/tools/support-v4-r13.jar"), inputDir);
140+
shell.cp("-f", path.join(projectRoot, "libs/*.jar"), inputDir);
141+
130142
this.spawn('java', ['-jar', metadataGeneratorPath, inputDir, outDir]).wait();
131143
}
132144

@@ -137,6 +149,7 @@ class AndroidProjectService implements IPlatformProjectService {
137149
var args2 = this.getAntArgs(buildConfiguration, projectRoot);
138150
this.spawn('ant', args).wait();
139151
this.generateMetadata(projectRoot);
152+
this.updateMetadata(projectRoot);
140153
// build the project again in order to include the newly generated metadata
141154
this.spawn('ant', args2).wait();
142155
}).future<void>()();
@@ -166,7 +179,7 @@ class AndroidProjectService implements IPlatformProjectService {
166179
lines.forEach((elem, idx, arr) => {
167180
var match = elem.match(/android\.library\.reference\.(\d+)=(.*)/);
168181
if (match) {
169-
var libRef: ILibRef = { idx: parseInt(match[1]), path: match[2] };
182+
var libRef: ILibRef = { idx: parseInt(match[1]), path: match[2].trim() };
170183
libRef.adjustedPath = thiz.$fs.isRelativePath(libRef.path) ? path.join(projDir, libRef.path) : libRef.path;
171184
thiz.parseProjectProrperies(libRef.adjustedPath, destDir);
172185
}

0 commit comments

Comments
 (0)