Example #1
0
  def test_relocate(self):
    self.assertEqual(('com.foo.bar.**', '{}com.foo.bar.@1'.format(Shading.SHADE_PREFIX)),
                     Shading.create_relocate(from_pattern='com.foo.bar.**'))

    self.assertEqual(('com.foo.bar.**', '{}com.foo.bar.@1'.format('__my_prefix__.')),
                     Shading.create_relocate(from_pattern='com.foo.bar.**',
                                      shade_prefix='__my_prefix__.'))

    self.assertEqual(('com.foo.bar.**', 'org.biz.baz.@1'.format('__my_prefix__.')),
                     Shading.create_relocate(from_pattern='com.foo.bar.**',
                                      shade_prefix='__my_prefix__.',
                                      shade_pattern='org.biz.baz.@1'))
Example #2
0
  def test_relocate(self):
    self.assertEqual(('com.foo.bar.**', '{}com.foo.bar.@1'.format(Shading.SHADE_PREFIX)),
                     Shading.create_relocate(from_pattern='com.foo.bar.**'))

    self.assertEqual(('com.foo.bar.**', '{}com.foo.bar.@1'.format('__my_prefix__.')),
                     Shading.create_relocate(from_pattern='com.foo.bar.**',
                                      shade_prefix='__my_prefix__.'))

    self.assertEqual(('com.foo.bar.**', 'org.biz.baz.@1'.format('__my_prefix__.')),
                     Shading.create_relocate(from_pattern='com.foo.bar.**',
                                      shade_prefix='__my_prefix__.',
                                      shade_pattern='org.biz.baz.@1'))
Example #3
0
    def test_relocate(self):
        self.assertEqual(
            ("com.foo.bar.**", "{}com.foo.bar.@1".format(Shading.SHADE_PREFIX)),
            Shading.create_relocate(from_pattern="com.foo.bar.**"),
        )

        self.assertEqual(
            ("com.foo.bar.**", "{}com.foo.bar.@1".format("__my_prefix__.")),
            Shading.create_relocate(from_pattern="com.foo.bar.**", shade_prefix="__my_prefix__."),
        )

        self.assertEqual(
            ("com.foo.bar.**", "org.biz.baz.@1".format("__my_prefix__.")),
            Shading.create_relocate(
                from_pattern="com.foo.bar.**", shade_prefix="__my_prefix__.", shade_pattern="org.biz.baz.@1"
            ),
        )
Example #4
0
  def test_assemble_classes_in_meta_inf(self):
    input_jar = self.populate_input_jar('org/pantsbuild/tools/fake/Main.class',
                                        'META-INF/versions/9/javax/xml/bind/ModuleInfo.class')

    rules = self.shader.assemble_binary_rules('org.pantsbuild.tools.fake.Main', input_jar)

    self.assertEqual(Shader.exclude_package('org.pantsbuild.tools.fake'), rules[0])
    self.assertIn(Shader.exclude_package('javax', recursive=True), rules[1:])
    self.assertNotIn(Shading.create_relocate('META-INF.versions.9.javax.xml.bind.*'), rules[1:])
Example #5
0
    def test_relocate(self):
        self.assertEqual(
            ("com.foo.bar.**", f"{Shading.SHADE_PREFIX}com.foo.bar.@1"),
            Shading.create_relocate(from_pattern="com.foo.bar.**"),
        )

        self.assertEqual(
            ("com.foo.bar.**", "__my_prefix__.com.foo.bar.@1"),
            Shading.create_relocate(from_pattern="com.foo.bar.**",
                                    shade_prefix="__my_prefix__."),
        )

        self.assertEqual(
            ("com.foo.bar.**", "org.biz.baz.@1"),
            Shading.create_relocate(
                from_pattern="com.foo.bar.**",
                shade_prefix="__my_prefix__.",
                shade_pattern="org.biz.baz.@1",
            ),
        )
Example #6
0
 def test_rules_file(self):
   expected = [
     'rule a.b.c.** d.e.f.@1\n',
     'rule a.*.b [email protected]\n',
     'rule x.y.z.** shaded.x.y.z.@1\n',
     'zap com.foo.bar.Main\n',
     'zap com.baz.*\n',
     'keep org.foobar.vegetable.Potato\n',
     'keep org.foobar.fruit.**\n',
   ]
   rules = [
     Shading.create_relocate('a.b.c.**', 'd.e.f.@1'),
     Shading.create_relocate('a.*.b', shade_prefix='shaded.'),
     Shading.create_relocate_package('x.y.z', shade_prefix='shaded.'),
     Shading.create_zap('com.foo.bar.Main'),
     Shading.create_zap_package('com.baz', recursive=False),
     Shading.create_keep('org.foobar.vegetable.Potato'),
     Shading.create_keep_package('org.foobar.fruit'),
   ]
   with self.shader.temporary_rules_file(rules) as fname:
     with open(fname, 'r') as f:
       received = f.readlines()
       self.assertEqual(received, expected)
Example #7
0
 def test_rules_file(self):
     expected = [
         'rule a.b.c.** d.e.f.@1\n',
         'rule a.*.b [email protected]\n',
         'rule x.y.z.** shaded.x.y.z.@1\n',
         'zap com.foo.bar.Main\n',
         'zap com.baz.*\n',
         'keep org.foobar.vegetable.Potato\n',
         'keep org.foobar.fruit.**\n',
     ]
     rules = [
         Shading.create_relocate('a.b.c.**', 'd.e.f.@1'),
         Shading.create_relocate('a.*.b', shade_prefix='shaded.'),
         Shading.create_relocate_package('x.y.z', shade_prefix='shaded.'),
         Shading.create_zap('com.foo.bar.Main'),
         Shading.create_zap_package('com.baz', recursive=False),
         Shading.create_keep('org.foobar.vegetable.Potato'),
         Shading.create_keep_package('org.foobar.fruit'),
     ]
     with self.shader.temporary_rules_file(rules) as fname:
         with open(fname, 'r') as f:
             received = f.readlines()
             self.assertEqual(received, expected)
Example #8
0
 def test_rules_file(self):
     expected = [
         "rule a.b.c.** d.e.f.@1\n",
         "rule a.*.b [email protected]\n",
         "rule x.y.z.** shaded.x.y.z.@1\n",
         "zap com.foo.bar.Main\n",
         "zap com.baz.*\n",
         "keep org.foobar.vegetable.Potato\n",
         "keep org.foobar.fruit.**\n",
     ]
     rules = [
         Shading.create_relocate("a.b.c.**", "d.e.f.@1"),
         Shading.create_relocate("a.*.b", shade_prefix="shaded."),
         Shading.create_relocate_package("x.y.z", shade_prefix="shaded."),
         Shading.create_zap("com.foo.bar.Main"),
         Shading.create_zap_package("com.baz", recursive=False),
         Shading.create_keep("org.foobar.vegetable.Potato"),
         Shading.create_keep_package("org.foobar.fruit"),
     ]
     with self.shader.temporary_rules_file(rules) as fname:
         with open(fname, "r") as f:
             received = f.readlines()
             self.assertEqual(received, expected)
Example #9
0
 def test_rules_file(self):
     expected = [
         "rule a.b.c.** d.e.f.@1\n",
         "rule a.*.b [email protected]\n",
         "rule x.y.z.** shaded.x.y.z.@1\n",
         "zap com.foo.bar.Main\n",
         "zap com.baz.*\n",
         "keep org.foobar.vegetable.Potato\n",
         "keep org.foobar.fruit.**\n",
     ]
     rules = [
         Shading.create_relocate("a.b.c.**", "d.e.f.@1"),
         Shading.create_relocate("a.*.b", shade_prefix="shaded."),
         Shading.create_relocate_package("x.y.z", shade_prefix="shaded."),
         Shading.create_zap("com.foo.bar.Main"),
         Shading.create_zap_package("com.baz", recursive=False),
         Shading.create_keep("org.foobar.vegetable.Potato"),
         Shading.create_keep_package("org.foobar.fruit"),
     ]
     with self.shader.temporary_rules_file(rules) as fname:
         with open(fname, "r") as f:
             received = f.readlines()
             self.assertEqual(received, expected)