theos / nic Goto Github PK
View Code? Open in Web Editor NEWGenerates Theos projects based on a template.
License: Other
Generates Theos projects based on a template.
License: Other
Perl 5.24 or greater can't run nicify.pl as it uses { my $_ = ... }
which appears to be deprecated.
Error log:
Can't use global $_ in "my" at theos/bin/nicify.pl line 76, near "my $_ " Can't use global $_ in "my" at /theos/bin/nicify.pl line 77, near "my $_ " Can't use global $_ in "my" at /theos/bin/nicify.pl line 88, near "my $_ "
Current solution is to downgrade to perl 5.22
Reduce the possibility of newcomers unknowingly committing build artefacts by writing a gitignore while creating a new (non-child) project.
.theos/
packages/
export
it (definitely set the platform, but should we be setting a reasonable initial deploy version?)INSTALL_TARGET_PROCESSES
instead of after-stage:: install.exec "killall Blah"
in tweak.mkIt would be quite handy for modules to be able to offer templates to users. This could be done by adding $THEOS/mod/*/templates
to the list of template directories which nic uses. Amongst other things, this change would allow modules like Theos Jailed to be cloned directly into $THEOS/mod
, making such modules relatively simpler to install.
require target <target>
require instance
require target
, aggregation, and instancing)The current mechanism uses a control
file for static info and a control.pl
for requesting more information to complete the template. This format works for the command line but it would be complex to implement if we wanted to allow graphical interfaces to interact with NIC to generate projects from these templating system.
In this issue I'd like to propose a significant architectural change that would allow integration with both command line and graphical interfaces alike while slightly expanding the versatility of the NIC templating system.
Example of current architecture (NIC v2):
NIC/control
name "iphone/tweak"
prompt FILTER "MobileSubstrate Bundle filter" "com.apple.springboard"
constrain file "control" to package
constrain "theos" to link_theos
NIC/control.pl
my $default_kill = "SpringBoard";
NIC->variable("KILL_PROCS") = "";
my $kill_apps = NIC->prompt("KILL_APPS", "List of applications to terminate upon installation (space-separated, '-' for none)", {default => $default_kill});
if($kill_apps ne "-") {
NIC->variable("KILL_PROCS") = "INSTALL_TARGET_PROCESSES = ".$kill_apps."\n";
}
Instead I'd like to propose a YAML file
NIC/control.yml
---
name: tweak
platforms:
- iphone
constraints:
control: package
theos: link_theos
variables:
- FILTER:
prompt: "MobileSubstrate Bundle filter"
default: com.apple.springboard
- KILL_PROCS:
prompt: "List of applications to terminate upon installation (space-separated, '-' for none)"
default: SpringBoard
cancel: -
format: "INSTALL_TARGET_PROCESSES = {}"
Under this model, the name from the current model is split into platforms
and name
, allowing simple filtering. In cases where a template, like the tool one, supports multiple platforms, the user can choose which one to generate for.
Documenting NIC should come first so we can identify the internal/builtin variables and constraints and how they work, plus functionality like ignored variables.
This is by no means the final draft and I'm open to discussions.
bl_ah
dpkg-deb: error: package name has characters that aren't lowercase alphanums or '-+.'
Illegal characters are replaced or stripped.
Now if you unzip the .deb file created, you can see that the .plist file of the Daemon is missing in /Library/LaunchDaemons.
Every resources you add to the Daemon inside the layout folder were not included in the .deb.
Find all resources inside the .deb
NO
NO
Operating System: …
OSX 10.11.6
Xcode 7.3.1
SDK Version: …
9.2
File isn't chown'd.
File set to root:wheel.
Operating System: 10.11
Toolchain Version: Latest on git.
SDK Version: 9.3
To incorporate theos/templates into Theos as a submodule in vendor/templates
, theos/nic has to be updated to fetch templates from both locations.
In order to achieve this, getTemplates must check both locations so $_templatepath and it's usage must be replaced by both paths.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.