... The licenses produced by this program are inspired by: ... Apache License (Version 2.0): https://www.apache.org/licenses/LICENSE-2.0 ... Mozilla Public License (Version 2.0): https://www.mozilla.org/en-US/MPL/2.0/ ... MIT/Expat License: https://opensource.org/licenses/MIT ... BSD licenses: https://en.wikipedia.org/wiki/BSD_licenses ... Commons Clause: https://commonsclause.com/ ... Reciprocal Public License 1.5 (RPL-1.5): https://opensource.org/licenses/RPL-1.5 ... The Parity Public License: https://licensezero.com/licenses/parity ... The Charity Public License: https://licensezero.com/licenses/charity ... Lerna black-list: https://github.com/lerna/lerna/pull/1616 ... Common Public Attribution License Version 1.0 (CPAL-1.0): https://opensource.org/licenses/CPAL-1.0 ... Eclipse Public License v2.0: https://www.eclipse.org/legal/epl-2.0/ (.module: [library [lux "*" [ffi {"+" [import:]}] [program {"+" [program:]}] ["." debug] [abstract [monad {"+" [do]}]] [control [remember {"+" [to_do]}] ["." io {"+" [IO]} ("#\." monad)] ["." maybe] ["." try {"+" [Try]}] ["." parser ["<.>" cli] ["<.>" json]] [security ["!" capability]]] [data ["." text ["%" format {"+" [format]}] [encoding ["." utf8]]] [format ["." json]]] [world ["." file]]]] ["." / "_" ["#." input] ["#." output]]) (with_expansions [ "2022-04-01"] (to_do "Create a short notice to add as a comment to each file in the _.work")) (import: java/lang/String ["#::." (trim [] java/lang/String)]) (def: default_output_file "LICENSE.txt") (def: (success_message output) (-> file.Path Text) (format "Your license has been made!" text.new_line "Check the file " output ".")) (program: [input (<| (.named "--input") .any) output (<| (parser.default ..default_output_file) (.named "--output") .any)] (do io.monad [?done (: (IO (Try Any)) (do (try.with io.monad) [blob (\ file.default read input) document (io\wrap (do [! try.monad] [raw_json (\ utf8.codec decoded blob) json (|> raw_json java/lang/String::trim (\ json.codec decoded))] (|> json (.result /input.license) (\ ! each /output.license))))] (\ file.default write (\ utf8.codec encoded document) output)))] (wrap (debug.log! (case ?done (#try.Success _) (success_message output) (#try.Failure message) message)))))