soft.build tools - jgrey4296/jgrey4296.github.io GitHub Wiki
- https://learn.microsoft.com/en-gb/dotnet/core/tools/
- https://learn.microsoft.com/en-us/dotnet/csharp/tour-of-csharp/
- https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/types/boxing-and-unboxing
- https://github.com/quozd/awesome-dotnet
- https://terminalroot.com/how-to-install-csharp-on-ubuntu-and-getting-started/
dotnet --help
dotnet --list-sdks
dotnet --list-runtimes
dotnet --help
dotnet nuget
For .net < 3.0, build doesn’t copy nuget packages, uses global.
dotnet add [proj] package [package]
vms: https://github.com/asdf-vm/asdf
- https://samuelmullen.com/articles/customizing_elixirs_iex
- https://itnext.io/a-collection-of-tips-for-elixirs-interactive-shell-iex-bff5e177405b?gi=3b2000b5d04b
- https://subscription.packtpub.com/book/programming/9781784397517/5/ch05lvl1sec59/connecting-nodes
asdf --help
# Machine 1:
iex --name [email protected] --cookie test
# Machine 2:
iex --name [email protected] --cookie test
Node.connect :"[email protected]"
Node.list
mix --help
- https://gruntjs.com/getting-started
- http://adrianmejia.com/blog/2014/10/07/grunt-js-tutorial-from-beginner-to-ninja/
grunt --help
grunt.registerTask(name,description,function);
grunt.registerTask(name,[taskNames]);
// If the function has parameters:
grunt testTask:someParameter
grunt.fail.warn()
grunt.fail.fatal
grunt.log.[writeln,write,subhead,error,ok]();
grunt.file.[write,read,readJSON,delete,copy,mkdir]();
grunt.file.expand(); // -> returns an array with all files matching a pattern (use
grunt.file.recurse(); // -> expand path, return a callback???
this.requires([taksNames]);
this.name(); // -> name of the task;
this.args();
to install a plugin:
npm install grunt-contrib-**** --save-dev
// load the plugin in the gruntfile:
grunt.loadNpmTasks('grunt-contrib-****');
Top Plugins:
- jshint (use .jshintrc for settings)
- watch (to run tasks when files change)
- uglify
- clean
- concat
- connect
- concurrent
npm --help
- https://docs.gradle.org/current/userguide/userguide.html
- https://docs.gradle.org/current/kotlin-dsl/index.html
- https://gradle.org/guides/#getting-started
- https://docs.gradle.org/current/userguide/build_environment.html#sec:gradle_configuration_properties
creates Settings objects.
adds libraries to build script classpath, defines which builds are participating. instantiates Project instances.
evals task registration to build task hierarchy.
hooks: gradle.beforeProject {} gradle.afterProject {} tasks.whenTaskAdded {}
- https://docs.gradle.org/current/kotlin-dsl/gradle/org.gradle.api/-task/index.html
- https://docs.gradle.org/current/kotlin-dsl/gradle/org.gradle.api/-project/index.html
task actions (doFirst, doLast..)
allows extraction of build logic into plugins. is essentially a subproject, so use a buildSrc/build.gradle.kts
for creating keystores to deploy on android
keytool
-keyalg RSA
-genkeypair
-alias androiddebugkey
-keypass android
-keystore debug.keystore
-storepass android
-dname "CN=Android Debug,O=Android,C=US"
-validity 9999
-deststoretype pkcs12
jvm!
sdk install java
sdk install scala 3.3.3
sdk uninstall scala
sdk use scala 3.3.3
sdk default scala 3.3.3
sdk current
sdk current java
sdk version
Use ‘.sdkmanrc’ files to setup local environments
management of different jdks and android sdk’s
install straight from above link
on mac, bootstrap with: brew install –cask android-studio brew install –cask android-commandlinetools then use that sdkmanager to install actual sdks etc in $android_home add installed java versions using jenv, activate as necessary
;; Disable Byte Compilation
(package! a-package :recipe (:build (:not compile)))
;; Or disable byte compilation with
;; -*- no-byte-compile: t; -*-
;; Specify a local repo
(package! a-package :recipe (:local-repo "~/.doom.d/packages/a-package"))
opam --help
python -m build ./
twine upload -u __token__ -p {password} ./dist/*
# export a yaml spec of the current env
mamba create -f env.yml
# create a new env
mamba create -n {env-name} --file {filespec}
# or
mamba create -n {env-name} python=3.12
- https://pip.pypa.io/en/stable/
- https://github.com/bndr/pipreqs
- https://github.com/jgonggrijp/pip-review
- https://devsjc.github.io/blog/20240627-the-complete-guide-to-pyproject-toml/
pip install [opt]
- https://doc.rust-lang.org/cargo/
- https://stackoverflow.com/questions/37586216/step-by-step-interactive-debugger-for-rust
remove ~/.cargo/packages.cache if it locks
rustup component add rustfmt-preview rustfix clippy rust-analyzer rust-gdb
- https://www.gnu.org/software/make/manual/make.html
- https://www.gnu.org/software/automake/manual/automake.html#Autotools-Introduction
make --help
# To set up an npm package.json:
npm init
# To install and add to dependency list:
npm install <package> --save-dev
grunt.registerTask(name,description,function);
grunt.registerTask(name,[taskNames]);
# If the function has parameters, they are passed in as part of the command line args
grunt testTask:someParameter
// Warnings and errors:
grunt.fail.warn()
grunt.fail.fatal
// Logs:
grunt.log.[writeln,write,subhead,error,ok]();
// Files:
grunt.file.[write,read,readJSON,delete,copy,mkdir]();
grunt.file.expand(); -> returns an array with all files matching a pattern (use ! to exclude)
grunt.file.recurse(); -> expand path, return a callback???
// Task internal Methods:
this.requires([taksNames]);
this.name() -> name of the task;
this.args();
# to install a plugin:
npm install grunt-contrib-**** --save-dev
// load the plugin in the gruntfile:
grunt.loadNpmTasks('grunt-contrib-****');
- jshint (use .jshintrc for settings)
- watch (to run tasks when files change)
- uglify
- jclean
- concat
- connect
- concurrent