authorgravatar for meghan@unicycle.coMeghan Denny <meghan@unicycle.co> 2021-07-19 07:08:30 -07:00
committergravatar for meghan@unicycle.coMeghan Denny <meghan@unicycle.co> 2021-07-19 07:08:30 -07:00
logc9b8cbf3565675a056ad4e9b57cb4f84020e7680
tree699bc6a933ac41acacc8915d267a0f4bde604e1f
parent52b4d79db069e966be9056a999c55344268bf7ea

add data from the blue oak council


3 files changed, 227 insertions(+), 0 deletions(-)

README.md+1
......@@ -4,6 +4,7 @@ generated data from https://spdx.org/licenses/.
44
55includes extra declarations for OSI approved licenses.
66
7includes extra declarations for https://blueoakcouncil.org/list classes.
78
89## License
910MIT
generate.zig+23
......@@ -40,6 +40,29 @@ pub fn main() !void {
4040 }
4141 try w.writeAll("};\n");
4242 }
43
44 {
45 std.log.info("blueoak", .{});
46 const val = try simple_fetch(alloc, "https://blueoakcouncil.org/list.json");
47 try w.writeAll("\n");
48 try w.writeAll("// Blue Oak Council data generated from https://blueoakcouncil.org/list\n");
49 try w.writeAll("//\n");
50 try w.print("// Last generated from version {s}\n", .{val.get("version").?.String});
51 try w.writeAll("//\n");
52
53 try w.writeAll("\n");
54 try w.writeAll("pub const blueoak = struct {\n");
55 for (val.get("ratings").?.Array) |rating| {
56 try w.print(" pub const {s} = &[_][]const u8{{\n", .{std.ascii.allocLowerString(alloc, rating.get("name").?.String)});
57 for (rating.get("licenses").?.Array) |lic| {
58 try w.print(" \"{s}\",\n", .{
59 lic.get("id").?.String,
60 });
61 }
62 try w.print(" }};\n", .{});
63 }
64 try w.writeAll("};\n");
65 }
4366}
4467
4568pub fn simple_fetch(alloc: *std.mem.Allocator, url: []const u8) !json.Value {
src/lib.zig+203
......@@ -608,3 +608,206 @@ pub const osi = &[_][]const u8{
608608 "ZPL-2.1",
609609 "Zlib",
610610};
611
612// Blue Oak Council data generated from https://blueoakcouncil.org/list
613//
614// Last generated from version 9
615//
616
617pub const blueoak = struct {
618 pub const model = &[_][]const u8{
619 "BlueOak-1.0.0",
620 };
621 pub const gold = &[_][]const u8{
622 "BSD-2-Clause-Patent",
623 };
624 pub const silver = &[_][]const u8{
625 "ADSL",
626 "Apache-2.0",
627 "APAFML",
628 "BSD-1-Clause",
629 "BSD-2-Clause",
630 "BSD-2-Clause-FreeBSD",
631 "BSD-2-Clause-NetBSD",
632 "BSD-2-Clause-Views",
633 "BSL-1.0",
634 "DSDP",
635 "ECL-1.0",
636 "ECL-2.0",
637 "ImageMagick",
638 "ISC",
639 "Linux-OpenIB",
640 "MIT",
641 "MIT-Modern-Variant",
642 "MS-PL",
643 "MulanPSL-1.0",
644 "Mup",
645 "PostgreSQL",
646 "Spencer-99",
647 "UPL-1.0",
648 "Xerox",
649 };
650 pub const bronze = &[_][]const u8{
651 "0BSD",
652 "AFL-1.1",
653 "AFL-1.2",
654 "AFL-2.0",
655 "AFL-2.1",
656 "AFL-3.0",
657 "AMDPLPA",
658 "AML",
659 "AMPAS",
660 "ANTLR-PD",
661 "ANTLR-PD-fallback",
662 "Apache-1.0",
663 "Apache-1.1",
664 "Artistic-2.0",
665 "Bahyph",
666 "Barr",
667 "BSD-3-Clause",
668 "BSD-3-Clause-Attribution",
669 "BSD-3-Clause-Clear",
670 "BSD-3-Clause-LBNL",
671 "BSD-3-Clause-Modification",
672 "BSD-3-Clause-No-Nuclear-License-2014",
673 "BSD-3-Clause-No-Nuclear-Warranty",
674 "BSD-3-Clause-Open-MPI",
675 "BSD-4-Clause",
676 "BSD-4-Clause-Shortened",
677 "BSD-4-Clause-UC",
678 "BSD-Source-Code",
679 "bzip2-1.0.5",
680 "bzip2-1.0.6",
681 "CC0-1.0",
682 "CNRI-Jython",
683 "CNRI-Python",
684 "CNRI-Python-GPL-Compatible",
685 "Cube",
686 "curl",
687 "eGenix",
688 "Entessa",
689 "FTL",
690 "HTMLTIDY",
691 "IBM-pibs",
692 "ICU",
693 "Info-ZIP",
694 "Intel",
695 "JasPer-2.0",
696 "Libpng",
697 "libpng-2.0",
698 "libtiff",
699 "LPPL-1.3c",
700 "MIT-0",
701 "MIT-advertising",
702 "MIT-open-group",
703 "MIT-CMU",
704 "MIT-enna",
705 "MIT-feh",
706 "MITNFA",
707 "MTLL",
708 "MulanPSL-2.0",
709 "Multics",
710 "Naumen",
711 "NCSA",
712 "Net-SNMP",
713 "NetCDF",
714 "NTP",
715 "OLDAP-2.0",
716 "OLDAP-2.0.1",
717 "OLDAP-2.1",
718 "OLDAP-2.2",
719 "OLDAP-2.2.1",
720 "OLDAP-2.2.2",
721 "OLDAP-2.3",
722 "OLDAP-2.4",
723 "OLDAP-2.5",
724 "OLDAP-2.6",
725 "OLDAP-2.7",
726 "OLDAP-2.8",
727 "OML",
728 "OpenSSL",
729 "PHP-3.0",
730 "PHP-3.01",
731 "Plexus",
732 "PSF-2.0",
733 "Python-2.0",
734 "Ruby",
735 "Saxpath",
736 "SGI-B-2.0",
737 "SMLNJ",
738 "SWL",
739 "TCL",
740 "TCP-wrappers",
741 "Unicode-DFS-2015",
742 "Unicode-DFS-2016",
743 "Unlicense",
744 "VSL-1.0",
745 "W3C",
746 "X11",
747 "XFree86-1.1",
748 "Xnet",
749 "xpp",
750 "Zlib",
751 "zlib-acknowledgement",
752 "ZPL-2.0",
753 "ZPL-2.1",
754 };
755 pub const lead = &[_][]const u8{
756 "AAL",
757 "Adobe-2006",
758 "Afmparse",
759 "Artistic-1.0",
760 "Artistic-1.0-cl8",
761 "Artistic-1.0-Perl",
762 "Beerware",
763 "blessing",
764 "Borceux",
765 "CECILL-B",
766 "ClArtistic",
767 "Condor-1.1",
768 "Crossword",
769 "CrystalStacker",
770 "diffmark",
771 "DOC",
772 "EFL-1.0",
773 "EFL-2.0",
774 "Fair",
775 "FSFUL",
776 "FSFULLR",
777 "Giftware",
778 "HPND",
779 "IJG",
780 "Leptonica",
781 "LPL-1.0",
782 "LPL-1.02",
783 "MirOS",
784 "mpich2",
785 "NASA-1.3",
786 "NBPL-1.0",
787 "Newsletr",
788 "NLPL",
789 "NRL",
790 "OGTSL",
791 "OLDAP-1.1",
792 "OLDAP-1.2",
793 "OLDAP-1.3",
794 "OLDAP-1.4",
795 "psutils",
796 "Qhull",
797 "Rdisc",
798 "RSA-MD",
799 "Spencer-86",
800 "Spencer-94",
801 "TU-Berlin-1.0",
802 "TU-Berlin-2.0",
803 "Vim",
804 "W3C-19980720",
805 "W3C-20150513",
806 "Wsuipa",
807 "WTFPL",
808 "xinetd",
809 "Zed",
810 "Zend-2.0",
811 "ZPL-1.1",
812 };
813};