diff --git a/fml/eclipse-workspace-dev.zip b/fml/eclipse-workspace-dev.zip index 3264b80320..6af3ec7abd 100644 Binary files a/fml/eclipse-workspace-dev.zip and b/fml/eclipse-workspace-dev.zip differ diff --git a/fml/install/eclipse/Minecraft/.classpath b/fml/install/eclipse/Minecraft/.classpath index 0eb8509acb..23a24ca2c4 100644 --- a/fml/install/eclipse/Minecraft/.classpath +++ b/fml/install/eclipse/Minecraft/.classpath @@ -1,36 +1,37 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fml/install/fml.py b/fml/install/fml.py index aece73f2bc..4cd3a46c37 100644 --- a/fml/install/fml.py +++ b/fml/install/fml.py @@ -1169,23 +1169,40 @@ def download_libraries(mcp_dir, libraries, natives_dir): for k,v in lib['natives'].items(): file_names.append('%s-%s-%s.jar' % (root, version, v)) + if 'children' in lib.keys(): + for child in lib['children']: + file_names.append('%s-%s-%s.jar' % (root, version, child)) + for file_name in file_names: url = '%s/%s/%s' % (root_url, '/'.join(path), file_name) file_path = os.path.join(lib_dir, os.sep.join(path), file_name) headers = get_headers(url) if headers is None: - print 'Could not retreive headers for library: %s ( %s )' % (lib['name'], url) + print('Could not retreive headers for library: %s ( %s )' % (lib['name'], url)) failed = True else: + md5 = None + if 'ETag' in headers.keys(): # Amazon headers, Mojang's server + md5 = headers['ETag'] + else: # Could be a normal maven repo, check for .md5 file + try: + md5 = urllib2.urlopen(url + '.md5').read().split(' ')[0].replace('\r', '').replace('\n', '') + if not len(md5) == 32: + md5 = None + print('Could not retrieve md5 for library %s ( %s.md5 )' % (file_name, url)) + failed = True + except (HTTPError): + failed = True + pass downloads.append({ 'url' : url, 'file' : file_path, - 'md5' : headers['ETag'], + 'md5' : md5, 'size' : headers['Content-Length'], 'extract' : extract }) - return download_list(downloads, natives_dir) + return download_list(downloads, natives_dir) or failed def download_list(list, natives_dir): #Downloads a list of files and urls. Verifying md5s if avalible. diff --git a/fml/jsons/1.6-dev.json b/fml/jsons/1.6-dev.json index f2e2fdb9ee..2852eeef28 100644 --- a/fml/jsons/1.6-dev.json +++ b/fml/jsons/1.6-dev.json @@ -13,10 +13,14 @@ }, { "name": "org.ow2.asm:asm-all:4.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", "comment" : "Important for FML, we add this" }, { - "name": "net.sf.jopt-simple:jopt-simple:4.5" + "name": "net.sf.jopt-simple:jopt-simple:4.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" }, { "name": "com.paulscode:codecjorbis:20101023" @@ -34,34 +38,58 @@ "name": "com.paulscode:soundsystem:20120107" }, { - "name": "org.lwjgl.lwjgl:lwjgl:2.9.0" + "name": "org.lwjgl.lwjgl:lwjgl:2.9.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" }, { - "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0" + "name": "org.lwjgl.lwjgl:lwjgl_util:2.9.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" }, { "name": "argo:argo:2.25_fixed" }, { - "name": "org.bouncycastle:bcprov-jdk15on:1.47" + "name": "net.sourceforge.argo:argo:2.25", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2", + "comment" : "grumble grumble grumble, y u no use proper version/artifact id grumble" }, { - "name": "com.google.guava:guava:14.0" + "name": "org.bouncycastle:bcprov-jdk15on:1.47", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" }, { - "name": "org.apache.commons:commons-lang3:3.1" + "name": "com.google.guava:guava:14.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" }, { - "name": "commons-io:commons-io:2.4" + "name": "org.apache.commons:commons-lang3:3.1", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" }, { - "name": "net.java.jinput:jinput:2.0.5" + "name": "commons-io:commons-io:2.4", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" }, { - "name": "net.java.jutils:jutils:1.0.0" + "name": "net.java.jinput:jinput:2.0.5", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" }, { - "name": "com.google.code.gson:gson:2.2.2" + "name": "net.java.jutils:jutils:1.0.0", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" + }, + { + "name": "com.google.code.gson:gson:2.2.2", + "children" : ["sources"], + "url" : "http://repo.maven.apache.org/maven2" }, { "name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.0",