本文整理了Java中io.cdep.cdep.fullfill.ZipFilesRewriter
类的一些代码示例,展示了ZipFilesRewriter
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZipFilesRewriter
类的具体详情如下:
包路径:io.cdep.cdep.fullfill.ZipFilesRewriter
类名称:ZipFilesRewriter
暂无
代码示例来源:origin: google/cdep
private List<String> copyFilesToStaging(@NotNull PathMapping[] mappings, @NotNull File stagingZipFolder,
@Nullable String onlyAllowedExtension) {
List<String> libs = new ArrayList<>();
for (PathMapping mapping : mappings) {
if (failIf(
!mapping.from.exists(),
"Could not zip file %s because it didn't exist",
mapping.from.getAbsoluteFile())) {
continue;
}
if (onlyAllowedExtension != null) {
if (!mapping.to.getPath().endsWith(onlyAllowedExtension)) {
// We only want .a files. Ignore others.
continue;
}
}
File stagingZipFile = new File(stagingZipFolder, mapping.to.getPath());
// Make the staging zip folder
//noinspection ResultOfMethodCallIgnored
stagingZipFile.getParentFile().mkdirs();
// Copy the single header file to the staging zip folder.
copyFileToStaging(mapping, stagingZipFile);
// Record the name
libs.add(mapping.to.getName());
}
return libs;
}
代码示例来源:origin: google/cdep
require(mappings.length > 0,
"File mapping '%s' did not resolve to any local files", archive.file);
File layoutZipFile = getLayoutZipFile(
prefix,
"linux");
File stagingZipFolder = getStagingZipFolder(layoutZipFile, "lib/");
copyFilesToStaging(mappings, stagingZipFolder, ".a");
zipStagingFilesIntoArchive(stagingZipFolder.getParentFile().getParentFile(), layoutZipFile);
代码示例来源:origin: google/cdep
@NotNull
private File getLayoutZipFile(String ... keys) {
String prefix = StringUtils.joinOnSkipNullOrEmpty("-", keys);
File layoutZipFile = new File(layout, prefix + ".zip");
if (layoutZipFile.exists()) {
//noinspection ResultOfMethodCallIgnored
layoutZipFile.delete();
}
return replaceInvalidCharacters(layoutZipFile);
}
代码示例来源:origin: google/cdep
@Test
public void testBasic() throws IOException {
File file = new File("../third_party/stb/cdep/cdep-manifest-divide.yml");
CDepManifestYml before = CDepManifestYmlUtils.convertStringToManifest(file.getAbsolutePath(), FileUtils.readAllText(file));
CDepManifestYml afterSubstitution = new SubstituteStringsRewriter()
.replace("${source}", new File("../third_party/stb").getAbsolutePath())
.visitCDepManifestYml(before);
File outputFolder = new File(".test-files/testZipFullfill").getAbsoluteFile();
outputFolder.delete();
File layout = new File(outputFolder, "layout");
layout.delete();
layout.mkdirs();
File staging = new File(outputFolder, "staging");
staging.delete();
staging.mkdirs();
ZipFilesRewriter zipper = new ZipFilesRewriter(layout, staging);
CDepManifestYml afterZipping = zipper.visitCDepManifestYml(afterSubstitution);
assertThat(layout.isDirectory()).isTrue();
assertThat(afterZipping.interfaces.headers.file).isEqualTo("stb-divide-headers.zip");
assertThat(afterZipping.interfaces.headers.include).isEqualTo("include");
}
}
代码示例来源:origin: google/cdep
ZipFilesRewriter zipper = new ZipFilesRewriter(layout, staging);
infoln(" zipping files referenced in %s", coordinate);
manifests[i] = zipper.visitCDepManifestYml(manifests[i]);
result.addAll(zipper.getZips());
if (errorsInScope() > 0) {
代码示例来源:origin: google/cdep
staging.mkdirs();
ZipFilesRewriter zipper = new ZipFilesRewriter(layout, staging);
CDepManifestYml afterZipping = zipper.visitCDepManifestYml(afterSubstitution);
代码示例来源:origin: google/cdep
@Nullable
@Override
protected Archive visitArchive(@Nullable Archive archive) {
if (archive == null || archive.file.isEmpty()) {
return null;
}
if (archive.file.endsWith(".zip")) {
return archive;
}
PathMapping mappings[] = PathMapping.parse(archive.file);
require(mappings.length > 0,
"File mapping '%s' did not resolve to any local files", archive.file);
File layoutZipFile = getLayoutZipFile(prefix, "headers");
File stagingZipFolder = getStagingZipFolder(layoutZipFile, "include");
copyFilesToStaging(mappings, stagingZipFolder, null);
// Zip that file
zipStagingFilesIntoArchive(stagingZipFolder.getParentFile(), layoutZipFile);
zips.add(layoutZipFile);
return new Archive(
layoutZipFile.getName(),
"",
0L,
"include",
archive.requires
);
}
代码示例来源:origin: google/cdep
require(mappings.length > 0,
"File mapping '%s' did not resolve to any local files", archive.file);
File layoutZipFile = getLayoutZipFile(
prefix,
"android",
archive.flavor,
archive.abi.name);
File stagingZipFolder = getStagingZipFolder(layoutZipFile, "lib/" + archive.abi);
List<String> libList = copyFilesToStaging(mappings, stagingZipFolder, ".a");
zipStagingFilesIntoArchive(stagingZipFolder.getParentFile().getParentFile(), layoutZipFile);
内容来源于网络,如有侵权,请联系作者删除!