@Override public IManifestProvider getManifestProvider() { return new FatJarRsrcUrlManifestProvider(this); }
/** * Hook for subclasses to add additional manifest entries. * * @param manifest the manifest to which the entries should be added * @param jarPackage the JAR package specification */ @Override protected void putAdditionalEntries(Manifest manifest, JarPackageData jarPackage) { setManifestRsrcClasspath(manifest, jarPackage); putMainClass(manifest, jarPackage); }
private void setManifestRsrcClasspath(Manifest ownManifest, JarPackageData jarPackage) { ArrayList<String> jarNames= new ArrayList<>(); Object[] elements= jarPackage.getElements(); for (int i= 0; i < elements.length; i++) { Object element= elements[i]; if (element instanceof IPackageFragmentRoot && ((IPackageFragmentRoot) element).isArchive()) { String jarName= ((IPackageFragmentRoot) element).getPath().toFile().getName(); while (jarNames.contains(jarName)) { jarName= FatJarPackagerUtil.nextNumberedFileName(jarName); } jarNames.add(jarName); } } String manifestRsrcClasspath= getManifestRsrcClasspath(jarNames); ownManifest.getMainAttributes().putValue(JIJConstants.REDIRECTED_CLASS_PATH_MANIFEST_NAME, manifestRsrcClasspath); }
private void setManifestRsrcClasspath(Manifest ownManifest, JarPackageData jarPackage) { ArrayList<String> jarNames= new ArrayList<>(); Object[] elements= jarPackage.getElements(); for (int i= 0; i < elements.length; i++) { Object element= elements[i]; if (element instanceof IPackageFragmentRoot && ((IPackageFragmentRoot) element).isArchive()) { String jarName= ((IPackageFragmentRoot) element).getPath().toFile().getName(); while (jarNames.contains(jarName)) { jarName= FatJarPackagerUtil.nextNumberedFileName(jarName); } jarNames.add(jarName); } } String manifestRsrcClasspath= getManifestRsrcClasspath(jarNames); ownManifest.getMainAttributes().putValue(JIJConstants.REDIRECTED_CLASS_PATH_MANIFEST_NAME, manifestRsrcClasspath); }
/** * Hook for subclasses to add additional manifest entries. * * @param manifest the manifest to which the entries should be added * @param jarPackage the JAR package specification */ @Override protected void putAdditionalEntries(Manifest manifest, JarPackageData jarPackage) { setManifestRsrcClasspath(manifest, jarPackage); putMainClass(manifest, jarPackage); }
@Override public IManifestProvider getManifestProvider() { return new FatJarRsrcUrlManifestProvider(this); }