Originate / OriginateTheme

OriginateTheme is a lightweight user interface theming framework.
MIT License
5 stars 0 forks source link

[1.0.0] Dynamic Framework Creation on Compile Time and Run Phase Integration #1

Closed rweindl closed 7 years ago

rweindl commented 7 years ago

@pkluz @paytonmiller @kevgo This PR tracks the progress on OriginateTheme version 1.0.0. The release of the new version is implementing a new concept of dynamically creating access to themes provided in the JSON files. After integrating the OriginateTheme framework into a project the specified JSON file will automatically get parsed and via a code generation phase transformed to accessible Objective-C classes. These created or modified classes are added to the OriginateTheme framework before each source code compilation.

In addition, it is possible to override theme styles dynamically on runtime by creating a new instance of the OTTheme object and providing a path to a JSON file which overwrites (partially) the at compile time defined styles will be used as fallback. This will allow (remote) customization of the OriginateTheme framework also after submitting or distributing the application.

The implementation of the framework is finished, an example project is added, all files are in a state I would submit them for review and a comprehensive documentation inside README file is added. If you want you can already start giving me a review on these files.

Since I still have to implement tests this PR remains with a work in progress label.

Before this branch is merged on master the Podfile in the example folder has to be updated to point to the new created version tag of the .podspec or the Originate .podspec.

pkluz commented 7 years ago

Please make sure - after merging - to add a PR to this repository: https://github.com/Originate/CocoaPods/tree/master/OriginateTheme exposing the Podspec there as well.

Please add two github issues to this project, namely:

rweindl commented 7 years ago

@pkluz Please take a look and approve the created unit tests by executing from the OriginateTheme directory the following command:

python -m unittest discover -s OriginateTheme/Scripts -p "*_test.py"

Gonna setup Travis right after approval.

pkluz commented 7 years ago

Lookin good!~