Stripping appmanifest maker

#1

Editing .appmanifests for different stripping options is kind of a pain, so I wrote a little python script to automagically generate them from a list of options.

It’s an interactive command line program made with the “Cmd” module. You can enable and disable options from a list (“physics”, “record”, “profiler”, “facebook”, “release”, and “headless”), then call the ‘make_manifest’ command, and it will generate the appmanifest file. There’s full instructions built into the script.

This is basically my first time using python, so let me know if there are issues with it! I used python 2.7.9 because that’s what I already had installed on my computer from a while ago.

Grab the script here: https://github.com/rgrams/stripping_manifest_maker

Update: Britzl has made a convenient online version with a few more features here: https://britzl.github.io/manifestation/

12 Likes

Defold on Facebook Instant Games
Low performance in html5 bundle (SOLVED)
#2

Beautiful! I had plans to create a static webpage with checkboxes that did the same thing. Now I don’t have to!

3 Likes

#3

This sounds nice :slight_smile:
I tryed it out by copying it onto my desktop and run it with python. Got the following error:

C:\Users\Tobi\Desktop>py stripping_manifest_maker.py
  File "stripping_manifest_maker.py", line 46
    print "ERROR - assemble_data - invalid option: " + opt
                                                   ^
SyntaxError: Missing parentheses in call to 'print'

(using Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)] on win32)

0 Likes

#4

OK, I will update my python and check it out, I guess there have been breaking changes. It looks like an easy fix though.


OK @LosJustos, it should work with Python 3 now.

2 Likes

#5

I couldn’t help myself. I did it anyway: https://britzl.github.io/manifestation/

6 Likes

#6

Can’t this still be more granular? Ideally it would be in editor… like you could open the appmanifest file in project directory and select which options to enable.

What is LinearMath exactly the entire lib vmath uses that’s not all fully exposed?

0 Likes

#7

How much more granular do you need? There’s probably a lot more we can do still, but I think the app manifest is a good start.

I totally agree.

1 Like

#8

I looked again and it was updated from what I saw before!

A small improvement you could make to the page is let clicking the text label toggle the checkbox

0 Likes

#9

Yeah, I pushed a couple of more options.

Done! And I’ve just learned of the <label> tag!

4 Likes

#10

BTW, The page is here if anyone wants to contribute anything or critique my crappy web dev skills:

6 Likes

#11

One more thing to maybe add would be rough kb size difference / total approximate size after exclusion.

3 Likes

#12

Ugh! If you provide the numbers then I’ll happily add it. I guess it could be scripted though…

3 Likes

#13

@britzl Awesome! Much more convenient than my script, for sure!

1 Like

#14

Thanks for this! Very useful!

I had small issue with the App Manifest Generator which causes build error.

image

Reported as issue with fix on GitHub.

4 Likes

#15

It’s supposed to be excludeSymbols not excludedSymbols so the generator needs fixing same with excludeLibs vs excludedLibs

2 Likes

#16

Maybe you should post it on Asset portal, so new users can find it faster? :slight_smile:
For more great assets!

2 Likes

#17

Already fixed. Thanks for reporting!

1 Like