diff mx.graal/mx_graal.py @ 22042:db48a62aba36

only (re)make archives from build command if at least one compilation occurred
author Doug Simon <doug.simon@oracle.com>
date Sun, 21 Jun 2015 21:43:13 +0200
parents 56c50504d60d
children 0e095e2c24e2
line wrap: on
line diff
--- a/mx.graal/mx_graal.py	Sat Jun 20 12:37:01 2015 +0200
+++ b/mx.graal/mx_graal.py	Sun Jun 21 21:43:13 2015 +0200
@@ -2370,7 +2370,6 @@
             optionsOwner = arcname[len('META-INF/jvmci.options/'):]
             provider = optionsOwner + '_Options'
             self.expectedOptionsProviders.add(provider.replace('.', '/') + '.class')
-            #assert exists(providerClassfile), 'missing generated Options provider ' + providerClassfile
             self.services.setdefault('com.oracle.jvmci.options.Options', []).append(provider)
         return False
 
@@ -2382,7 +2381,8 @@
         assert len(self.expectedOptionsProviders) == 0, 'missing generated Options providers:\n  ' + '\n  '.join(self.expectedOptionsProviders)
         for service, providers in self.jvmciServices.iteritems():
             arcname = 'META-INF/jvmci.services/' + service
-            self.arc.zf.writestr(arcname, '\n'.join(providers))
+            # Convert providers to a set before printing to remove duplicates
+            self.arc.zf.writestr(arcname, '\n'.join(frozenset(providers)))
 
 def mx_post_parse_cmd_line(opts):  #
     # TODO _minVersion check could probably be part of a Suite in mx?