Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

30
LINES

< > BotCompany Repo | #1010562 // hotwireSharingLibraries

JavaX fragment (include)

static Class<?> hotwireSharingLibraries(S progID) ctex {
  Pair<File, S> p = CompilerBot.compileSnippet2(progID);
  File jar = p.a;
  assertTrue(f2s(jar), jar.isFile());
  
  // collect files (program + libraries)
  
  L<File> files = ll(jar);
  S dehlibs = unnull(loadTextFileFromZip(jar, "libraries"));
  
  L<File> myLibraries = myLibraryFiles();
  //print("My libraries: " + myLibraries);
  
  Matcher matcher = Pattern.compile("\\d+").matcher(dehlibs);
  while (matcher.find()) {
    S libID = matcher.group();
    File lib = loadLibrary(libID);
    if (myLibraries.contains(lib)) {
      //print("Skipping lib " + lib);
    } else {
      //print("Adding lib " + lib);
      files.add(lib);
    }
  }

  // make class loader
  JavaXClassLoaderWithParent classLoader = new(progID, files, myClassLoader());
  
  ret hotwire_finish(classLoader, progID, p.b);
}

Author comment

Began life as a copy of #1005578

download  show line numbers  debug dex  old transpilations   

Travelled to 13 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt

No comments. add comment

Snippet ID: #1010562
Snippet name: hotwireSharingLibraries
Eternal ID of this version: #1010562/14
Text MD5: 3ff3cebab9b7272339dfdcb3b5a20f61
Author: stefan
Category: javax
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2017-11-10 05:41:07
Source code size: 892 bytes / 30 lines
Pitched / IR pitched: No / No
Views / Downloads: 552 / 582
Version history: 13 change(s)
Referenced in: #1006654 - Standard functions list 2 (LIVE, continuation of #761)
#1010566 - hotwireSharingLibraries_v1 [doesn't work]
#1011217 - hotwireSharingClasses
#1016886 - hotwireSharingLibraries_silently