diff --git a/Changes b/Changes index 8772346..5aaa7c7 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,4 @@ +0.4.9 rename etc/ to src/ and move generated modules to gen/lib 0.4.8 Break circular '@font-face' depdendency - Add CSS/Module/CSS3/Actions.pm - Add CSS/Module/CSS3/Fonts/AtFontFace.pm diff --git a/META6.json b/META6.json index 6cb7627..6b3933a 100644 --- a/META6.json +++ b/META6.json @@ -3,7 +3,7 @@ "api" : "css-snapshot-2010", "auth" : "github:p6-css", "license" : "Artistic-2.0", - "version" : "0.4.8", + "version" : "0.4.9", "description" : "Perl 6 CSS extended and property-specific grammars", "depends" : [ "CSS::Grammar", "CSS::Module::CSS3::Selectors", "CSS::Specification", "CSS::Writer", "JSON::Fast" ], "source-url" : "git://github.com/p6-css/CSS-Module-p6.git", @@ -12,17 +12,17 @@ "CSS::Module::CSS1" : "lib/CSS/Module/CSS1.pm", "CSS::Module::CSS1::Actions" : "lib/CSS/Module/CSS1/Actions.pm", - "CSS::Module::CSS1::Metadata" : "lib/CSS/Module/CSS1/Metadata.pm", - "CSS::Module::CSS1::Spec::Actions" : "lib/CSS/Module/CSS1/Spec/Actions.pm", - "CSS::Module::CSS1::Spec::Grammar" : "lib/CSS/Module/CSS1/Spec/Grammar.pm", - "CSS::Module::CSS1::Spec::Interface" : "lib/CSS/Module/CSS1/Spec/Interface.pm", + "CSS::Module::CSS1::Metadata" : "gen/lib/CSS/Module/CSS1/Metadata.pm", + "CSS::Module::CSS1::Spec::Actions" : "gen/lib/CSS/Module/CSS1/Spec/Actions.pm", + "CSS::Module::CSS1::Spec::Grammar" : "gen/lib/CSS/Module/CSS1/Spec/Grammar.pm", + "CSS::Module::CSS1::Spec::Interface" : "gen/lib/CSS/Module/CSS1/Spec/Interface.pm", "CSS::Module::CSS21" : "lib/CSS/Module/CSS21.pm", "CSS::Module::CSS21::Actions" : "lib/CSS/Module/CSS21/Actions.pm", - "CSS::Module::CSS21::Metadata" : "lib/CSS/Module/CSS21/Metadata.pm", - "CSS::Module::CSS21::Spec::Actions" : "lib/CSS/Module/CSS21/Spec/Actions.pm", - "CSS::Module::CSS21::Spec::Grammar" : "lib/CSS/Module/CSS21/Spec/Grammar.pm", - "CSS::Module::CSS21::Spec::Interface" : "lib/CSS/Module/CSS21/Spec/Interface.pm", + "CSS::Module::CSS21::Metadata" : "gen/lib/CSS/Module/CSS21/Metadata.pm", + "CSS::Module::CSS21::Spec::Actions" : "gen/lib/CSS/Module/CSS21/Spec/Actions.pm", + "CSS::Module::CSS21::Spec::Grammar" : "gen/lib/CSS/Module/CSS21/Spec/Grammar.pm", + "CSS::Module::CSS21::Spec::Interface" : "gen/lib/CSS/Module/CSS21/Spec/Interface.pm", "CSS::Module::CSS3" : "lib/CSS/Module/CSS3.pm", "CSS::Module::CSS3::Actions" : "lib/CSS/Module/CSS3/Actions.pm", @@ -35,16 +35,16 @@ "CSS::Module::CSS3::Fonts" : "lib/CSS/Module/CSS3/Fonts.pm", "CSS::Module::CSS3::Fonts::Actions" : "lib/CSS/Module/CSS3/Fonts/Actions.pm", - "CSS::Module::CSS3::Fonts::Spec::Actions" : "lib/CSS/Module/CSS3/Fonts/Spec/Actions.pm", - "CSS::Module::CSS3::Fonts::Spec::Grammar" : "lib/CSS/Module/CSS3/Fonts/Spec/Grammar.pm", - "CSS::Module::CSS3::Fonts::Spec::Interface" : "lib/CSS/Module/CSS3/Fonts/Spec/Interface.pm", + "CSS::Module::CSS3::Fonts::Spec::Actions" : "gen/lib/CSS/Module/CSS3/Fonts/Spec/Actions.pm", + "CSS::Module::CSS3::Fonts::Spec::Grammar" : "gen/lib/CSS/Module/CSS3/Fonts/Spec/Grammar.pm", + "CSS::Module::CSS3::Fonts::Spec::Interface" : "gen/lib/CSS/Module/CSS3/Fonts/Spec/Interface.pm", "CSS::Module::CSS3::Fonts::AtFontFace" : "lib/CSS/Module/CSS3/Fonts/AtFontFace.pm", "CSS::Module::CSS3::Fonts::AtFontFace::Actions" : "lib/CSS/Module/CSS3/Fonts/AtFontFace.pm", - "CSS::Module::CSS3::Fonts::AtFontFace::Metadata" : "lib/CSS/Module/CSS3/Fonts/AtFontFace/Metadata.pm", - "CSS::Module::CSS3::Fonts::AtFontFace::Spec::Actions" : "lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Actions.pm", - "CSS::Module::CSS3::Fonts::AtFontFace::Spec::Grammar" : "lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Grammar.pm", - "CSS::Module::CSS3::Fonts::AtFontFace::Spec::Interface" : "lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Interface.pm", + "CSS::Module::CSS3::Fonts::AtFontFace::Metadata" : "gen/lib/CSS/Module/CSS3/Fonts/AtFontFace/Metadata.pm", + "CSS::Module::CSS3::Fonts::AtFontFace::Spec::Actions" : "gen/lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Actions.pm", + "CSS::Module::CSS3::Fonts::AtFontFace::Spec::Grammar" : "gen/lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Grammar.pm", + "CSS::Module::CSS3::Fonts::AtFontFace::Spec::Interface" : "gen/lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Interface.pm", "CSS::Module::CSS3::Fonts::Variants" : "lib/CSS/Module/CSS3/Fonts/Variants.pm", "CSS::Module::CSS3::Fonts::Variants::Actions" : "lib/CSS/Module/CSS3/Fonts/Variants.pm", @@ -57,10 +57,10 @@ "CSS::Module::CSS3::PagedMedia" : "lib/CSS/Module/CSS3/PagedMedia.pm", "CSS::Module::CSS3::PagedMedia::Actions" : "lib/CSS/Module/CSS3/PagedMedia.pm", - "CSS::Module::CSS3::PagedMedia::Spec::Actions" : "lib/CSS/Module/CSS3/PagedMedia/Spec/Actions.pm", - "CSS::Module::CSS3::PagedMedia::Spec::Grammar" : "lib/CSS/Module/CSS3/PagedMedia/Spec/Grammar.pm", - "CSS::Module::CSS3::PagedMedia::Spec::Interface" : "lib/CSS/Module/CSS3/PagedMedia/Spec/Interface.pm", + "CSS::Module::CSS3::PagedMedia::Spec::Actions" : "gen/lib/CSS/Module/CSS3/PagedMedia/Spec/Actions.pm", + "CSS::Module::CSS3::PagedMedia::Spec::Grammar" : "gen/lib/CSS/Module/CSS3/PagedMedia/Spec/Grammar.pm", + "CSS::Module::CSS3::PagedMedia::Spec::Interface" : "gen/lib/CSS/Module/CSS3/PagedMedia/Spec/Interface.pm", - "CSS::Module::CSS3::Metadata" : "lib/CSS/Module/CSS3/Metadata.pm" + "CSS::Module::CSS3::Metadata" : "gen/lib/CSS/Module/CSS3/Metadata.pm" } } diff --git a/README.md b/README.md index b48d499..578c197 100644 --- a/README.md +++ b/README.md @@ -113,9 +113,12 @@ You can then use Perl6 `zef` module installer to test and install `CSS::Module`: ## Property Definitions -Property definitions are built from the sources in the (etc) directory using the CSS::Specification tools. These implement the [W3C Property Definition Syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Value_definition_syntax). +Property definitions are built from the sources in the `src` directory using the CSS::Specification tools. These implement the [W3C Property Definition Syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/Value_definition_syntax). -For example [CSS::Module:CSS1::Spec::Grammar](lib/CSS/Module/CSS1/Spec/Grammar.pm), [CSS::Module:CSS1::Spec::Actions](lib/CSS/Module/CSS1/Spec/Actions.pm) and [CSS::Module:CSS1::Spec::Interface](lib/CSS/Module/CSS1/Spec/Interface.pm) are generated from [etc/css1-properties.txt](etc/css1-properties.txt). + +Generated modules are written under the `gen/lib` directory. + +For example [CSS::Module:CSS1::Spec::Grammar](gen/lib/CSS/Module/CSS1/Spec/Grammar.pm), [CSS::Module:CSS1::Spec::Actions](gen/lib/CSS/Module/CSS1/Spec/Actions.pm) and [CSS::Module:CSS1::Spec::Interface](gen/lib/CSS/Module/CSS1/Spec/Interface.pm) are generated from [etc/css1-properties.txt](etc/css1-properties.txt). See `make-modules.pl`. diff --git a/lib/CSS/Module/CSS1/Metadata.pm b/gen/lib/CSS/Module/CSS1/Metadata.pm similarity index 100% rename from lib/CSS/Module/CSS1/Metadata.pm rename to gen/lib/CSS/Module/CSS1/Metadata.pm diff --git a/lib/CSS/Module/CSS1/Spec/Actions.pm b/gen/lib/CSS/Module/CSS1/Spec/Actions.pm similarity index 100% rename from lib/CSS/Module/CSS1/Spec/Actions.pm rename to gen/lib/CSS/Module/CSS1/Spec/Actions.pm diff --git a/lib/CSS/Module/CSS1/Spec/Grammar.pm b/gen/lib/CSS/Module/CSS1/Spec/Grammar.pm similarity index 100% rename from lib/CSS/Module/CSS1/Spec/Grammar.pm rename to gen/lib/CSS/Module/CSS1/Spec/Grammar.pm diff --git a/lib/CSS/Module/CSS1/Spec/Interface.pm b/gen/lib/CSS/Module/CSS1/Spec/Interface.pm similarity index 100% rename from lib/CSS/Module/CSS1/Spec/Interface.pm rename to gen/lib/CSS/Module/CSS1/Spec/Interface.pm diff --git a/lib/CSS/Module/CSS21/Metadata.pm b/gen/lib/CSS/Module/CSS21/Metadata.pm similarity index 100% rename from lib/CSS/Module/CSS21/Metadata.pm rename to gen/lib/CSS/Module/CSS21/Metadata.pm diff --git a/lib/CSS/Module/CSS21/Spec/Actions.pm b/gen/lib/CSS/Module/CSS21/Spec/Actions.pm similarity index 100% rename from lib/CSS/Module/CSS21/Spec/Actions.pm rename to gen/lib/CSS/Module/CSS21/Spec/Actions.pm diff --git a/lib/CSS/Module/CSS21/Spec/Grammar.pm b/gen/lib/CSS/Module/CSS21/Spec/Grammar.pm similarity index 100% rename from lib/CSS/Module/CSS21/Spec/Grammar.pm rename to gen/lib/CSS/Module/CSS21/Spec/Grammar.pm diff --git a/lib/CSS/Module/CSS21/Spec/Interface.pm b/gen/lib/CSS/Module/CSS21/Spec/Interface.pm similarity index 100% rename from lib/CSS/Module/CSS21/Spec/Interface.pm rename to gen/lib/CSS/Module/CSS21/Spec/Interface.pm diff --git a/lib/CSS/Module/CSS3/Fonts/AtFontFace/Metadata.pm b/gen/lib/CSS/Module/CSS3/Fonts/AtFontFace/Metadata.pm similarity index 100% rename from lib/CSS/Module/CSS3/Fonts/AtFontFace/Metadata.pm rename to gen/lib/CSS/Module/CSS3/Fonts/AtFontFace/Metadata.pm diff --git a/lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Actions.pm b/gen/lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Actions.pm similarity index 100% rename from lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Actions.pm rename to gen/lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Actions.pm diff --git a/lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Grammar.pm b/gen/lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Grammar.pm similarity index 100% rename from lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Grammar.pm rename to gen/lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Grammar.pm diff --git a/lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Interface.pm b/gen/lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Interface.pm similarity index 100% rename from lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Interface.pm rename to gen/lib/CSS/Module/CSS3/Fonts/AtFontFace/Spec/Interface.pm diff --git a/lib/CSS/Module/CSS3/Fonts/Spec/Actions.pm b/gen/lib/CSS/Module/CSS3/Fonts/Spec/Actions.pm similarity index 100% rename from lib/CSS/Module/CSS3/Fonts/Spec/Actions.pm rename to gen/lib/CSS/Module/CSS3/Fonts/Spec/Actions.pm diff --git a/lib/CSS/Module/CSS3/Fonts/Spec/Grammar.pm b/gen/lib/CSS/Module/CSS3/Fonts/Spec/Grammar.pm similarity index 100% rename from lib/CSS/Module/CSS3/Fonts/Spec/Grammar.pm rename to gen/lib/CSS/Module/CSS3/Fonts/Spec/Grammar.pm diff --git a/lib/CSS/Module/CSS3/Fonts/Spec/Interface.pm b/gen/lib/CSS/Module/CSS3/Fonts/Spec/Interface.pm similarity index 100% rename from lib/CSS/Module/CSS3/Fonts/Spec/Interface.pm rename to gen/lib/CSS/Module/CSS3/Fonts/Spec/Interface.pm diff --git a/lib/CSS/Module/CSS3/Metadata.pm b/gen/lib/CSS/Module/CSS3/Metadata.pm similarity index 100% rename from lib/CSS/Module/CSS3/Metadata.pm rename to gen/lib/CSS/Module/CSS3/Metadata.pm diff --git a/lib/CSS/Module/CSS3/PagedMedia/Spec/Actions.pm b/gen/lib/CSS/Module/CSS3/PagedMedia/Spec/Actions.pm similarity index 100% rename from lib/CSS/Module/CSS3/PagedMedia/Spec/Actions.pm rename to gen/lib/CSS/Module/CSS3/PagedMedia/Spec/Actions.pm diff --git a/lib/CSS/Module/CSS3/PagedMedia/Spec/Grammar.pm b/gen/lib/CSS/Module/CSS3/PagedMedia/Spec/Grammar.pm similarity index 100% rename from lib/CSS/Module/CSS3/PagedMedia/Spec/Grammar.pm rename to gen/lib/CSS/Module/CSS3/PagedMedia/Spec/Grammar.pm diff --git a/lib/CSS/Module/CSS3/PagedMedia/Spec/Interface.pm b/gen/lib/CSS/Module/CSS3/PagedMedia/Spec/Interface.pm similarity index 100% rename from lib/CSS/Module/CSS3/PagedMedia/Spec/Interface.pm rename to gen/lib/CSS/Module/CSS3/PagedMedia/Spec/Interface.pm diff --git a/lib/CSS/Module.pm b/lib/CSS/Module.pm index 0d4742b..3d6acd5 100644 --- a/lib/CSS/Module.pm +++ b/lib/CSS/Module.pm @@ -1,5 +1,5 @@ use v6; -class CSS::Module { +class CSS::Module:ver<0.4.9> { #= a lightweight class for bundling resources associated with a particular CSS Syntax has $.name; has $.grammar is required #| grammar diff --git a/make-modules.pl b/make-modules.pl index 81c4276..2ceb5ae 100644 --- a/make-modules.pl +++ b/make-modules.pl @@ -13,11 +13,11 @@ my %props; my CSS::Module::CSS3::Actions $actions .= new; - for (:CSS1[ => ], - :CSS21[ => ], - :CSS3[ => , - => ], - 'CSS3::Fonts::AtFontFace' => [ => ], + for (:CSS1[ => ], + :CSS21[ => ], + :CSS3[ => , + => ], + 'CSS3::Fonts::AtFontFace' => [ => ], ) { my $meta = .key; @@ -35,7 +35,7 @@ my ($type, $subclass) = .kv; my $name = (, @$class-isa, , $subclass).flat.join('::'); - my $class-dir = $*SPEC.catdir(, @$class-isa, ); + my $class-dir = $*SPEC.catdir(, @$class-isa, ); mkdir $class-dir; my $class-path = $*SPEC.catfile( $class-dir, $subclass~'.pm' ); @@ -66,7 +66,7 @@ } } } - my $class-dir = $*SPEC.catdir(flat(, $meta.split('::'))); + my $class-dir = $*SPEC.catdir(flat(, $meta.split('::'))); my $class-path = $*SPEC.catfile( $class-dir, 'Metadata.pm' ); my $class-name = "CSS::Module::{$meta}::Metadata"; say "Building $class-name"; diff --git a/etc/css1-properties.txt b/src/css1-properties.txt similarity index 100% rename from etc/css1-properties.txt rename to src/css1-properties.txt diff --git a/etc/css21-properties.txt b/src/css21-properties.txt similarity index 100% rename from etc/css21-properties.txt rename to src/css21-properties.txt diff --git a/etc/css3x-font-@fontface-properties.txt b/src/css3x-font-@fontface-properties.txt similarity index 100% rename from etc/css3x-font-@fontface-properties.txt rename to src/css3x-font-@fontface-properties.txt diff --git a/etc/css3x-font-properties.txt b/src/css3x-font-properties.txt similarity index 100% rename from etc/css3x-font-properties.txt rename to src/css3x-font-properties.txt diff --git a/etc/css3x-paged-media.txt b/src/css3x-paged-media.txt similarity index 100% rename from etc/css3x-paged-media.txt rename to src/css3x-paged-media.txt