Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RubyModule.java: uninitialized constant Compass::Configuration::Serialization::Growl #4560

Closed
Quentame opened this issue Apr 13, 2017 · 4 comments

Comments

@Quentame
Copy link

Quentame commented Apr 13, 2017

Environment

  • JRuby: 9.1.8.0
  • JRE: 1.8
  • OS: Windows 10 v1511
  • Active Gems :
    • Sass: 3.4.23
    • Compass: 1.0.3
    • ffi: 1.9.18
    • Growl: 1.0.3

Expected Behavior

I would like a Growl notification when my CSS is generated (with Growl.notify()).

Here is my Growl code :

on_stylesheet_saved do |filename|
    if File.exists?(filename)
        FileUtils.mv filename, filename.gsub(%r{sbf.sprite.css}, '_sprite.scss')
    end
    Growl.notify {
        self.message = "#{File.basename(filename)} updated!"
        self.icon = 'success_icon.png'
    }
end

on_stylesheet_error do |filename, message|
    Growl.notify {
        self.message = "#{File.basename(filename)}: #{message}"
        self.icon = 'error_icon.png'
        sticky!
    }
end

Actual Behavior

I got an error when I call the Growl class.

It seems that Growl is unknown ...

[INFO] 
[INFO] --- gem-maven-plugin:1.1.5:exec (default) @ XXX-ui-jsf2 ---
[INFO]     Compass is charityware. If you love it, please donate on our behalf at http://umdf.org/compass Thanks!
[INFO] Successfully installed compass-1.0.3
[INFO] Successfully installed compass-core-1.0.3
[INFO] Successfully installed multi_json-1.12.1
[INFO] Successfully installed compass-import-once-1.0.5
[INFO] Successfully installed chunky_png-1.3.8
[INFO] Successfully installed rb-fsevent-0.9.8
[INFO] Successfully installed rb-inotify-0.9.8
[INFO] Successfully installed sass-3.4.23
[INFO] Successfully installed ffi-1.9.18-java
[INFO] Successfully installed growl-1.0.3
[INFO] 10 gems installed
[INFO]     write src/main/resources/META-INF/resources/sbf/sbf.component.css
[INFO] NameError on line ["3348"] of org/jruby/RubyModule.java: uninitialized constant Compass::Configuration::Serialization::Growl
[INFO]   D:\projects\prj-sbf-git\workspace\XXX-superpom\XXX\XXX-ui-jsf2/src/main/resources/META-INF/resources/sass/scss/config.rb:59:in `block in parse_string'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/sass-3.4.23/lib/sass/callbacks.rb:61:in `block in run_stylesheet_saved'
[INFO]   org/jruby/RubyArray.java:1734:in `each'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/sass-3.4.23/lib/sass/callbacks.rb:61:in `run_stylesheet_saved'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/compass-core-1.0.3/lib/compass/configuration/inheritance.rb:167:in `run_stylesheet_saved'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/compass-core-1.0.3/lib/compass/configuration/inheritance.rb:169:in `run_stylesheet_saved'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/compass-1.0.3/lib/compass/sass_compiler.rb:93:in `when_updated_stylesheet'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/compass-1.0.3/lib/compass/sass_compiler.rb:35:in `block in initialize'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/sass-3.4.23/lib/sass/callbacks.rb:61:in `block in run_updated_stylesheet'
[INFO]   org/jruby/RubyArray.java:1734:in `each'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/sass-3.4.23/lib/sass/callbacks.rb:61:in `run_updated_stylesheet'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/sass-3.4.23/lib/sass/plugin/compiler.rb:510:in `update_stylesheet'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/sass-3.4.23/lib/sass/plugin/compiler.rb:215:in `block in update_stylesheets'
[INFO]   org/jruby/RubyArray.java:1734:in `each'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/sass-3.4.23/lib/sass/plugin/compiler.rb:209:in `update_stylesheets'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/compass-1.0.3/lib/compass/sass_compiler.rb:40:in `compile!'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/compass-1.0.3/lib/compass/commands/update_project.rb:49:in `perform'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/compass-1.0.3/lib/compass/commands/base.rb:18:in `execute'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/compass-1.0.3/lib/compass/commands/project_base.rb:19:in `execute'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/compass-1.0.3/lib/compass/exec/sub_command_ui.rb:43:in `perform!'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/compass-1.0.3/lib/compass/exec/sub_command_ui.rb:15:in `run!'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/compass-1.0.3/bin/compass:30:in `block in (root)'
[INFO]   D:/projects/prj-sbf-git/workspace/XXX-superpom/XXX/XXX-ui-jsf2/target/rubygems/gems/compass-1.0.3/bin/compass:44:in `<main>'
[INFO]   org/jruby/RubyKernel.java:979:in `load'
[INFO]   D:\projects\prj-sbf-git\workspace\XXX-superpom\XXX\XXX-ui-jsf2\target/rubygems/bin/compass:22:in `<main>'
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:11 min
[INFO] Finished at: 2017-04-13T17:38:50+02:00
[INFO] Final Memory: 31M/371M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal de.saumya.mojo:gem-maven-plugin:1.1.5:exec (default) on project XXX-ui-jsf2: Execution default of goal de.saumya.mojo:gem-maven-plugin:1.1.5:exec failed: Java returned: 1 -> [Help 1]
@enebo
Copy link
Member

enebo commented Apr 13, 2017

@Quentame is it possible for you to make a reproduction for us? As it is I don't know enough about how to set up sass/compass example to try this out.

My other question is how do you use growl on Windows? If I go to the git repo for the growl gem I only see a reference to install the growl which works on MacOS.

@Quentame
Copy link
Author

How to reproduce you ?

More details on the problem

I launch my CSS generatation by Maven goals.
There is two generations :

  • CSS only
  • Sprite + CSS

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.XXX</groupId>
        <artifactId>XXX</artifactId>
        <version>1.14.0-SNAPSHOT</version>
    </parent>

    <artifactId>XXX-ui-jsf2</artifactId>

    <name>${projectid} UI JSF 2</name>
    <description>${projectdescription_start} UI JSF 2 classes</description>
    <url>${site_url_pattern}</url>

    <!-- Parameters for CSS generation -->
    <properties>
        <ruby.gem.sass.version>3.4.23</ruby.gem.sass.version>
        <ruby.gem.compass.version>1.0.3</ruby.gem.compass.version>
        <ruby.gem.ffi.version>1.9.18</ruby.gem.ffi.version>
        <ruby.gem.growl.version>1.0.3</ruby.gem.growl.version>
        <gem.plugin.version>1.1.5</gem.plugin.version>
        <jruby.version>9.1.8.0</jruby.version>
    </properties>

    <dependencies>
        ...
    </dependencies>
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>META-INF/resources/sass/**</exclude>
                </excludes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

    <profiles>
        <profile>
            <id>generate-css-full</id>
            <repositories>
                <repository>
                    <id>rubygems-releases</id>
                    <url>http://rubygems-proxy.torquebox.org/releases</url>
                </repository>
            </repositories>
            <dependencies>
                <!-- Sass & Compass -->
                <dependency>
                    <groupId>rubygems</groupId>
                    <artifactId>compass</artifactId>
                    <version>${ruby.gem.compass.version}</version>
                    <type>gem</type>
                </dependency>
                <dependency>
                    <groupId>rubygems</groupId>
                    <artifactId>sass</artifactId>
                    <version>${ruby.gem.sass.version}</version>
                    <type>gem</type>
                </dependency>
                <dependency>
                    <groupId>rubygems</groupId>
                    <artifactId>ffi</artifactId>
                    <version>${ruby.gem.ffi.version}</version>
                    <type>gem</type>
                </dependency>
                <dependency>
                    <groupId>rubygems</groupId>
                    <artifactId>growl</artifactId>
                    <version>${ruby.gem.growl.version}</version>
                    <type>gem</type>
                </dependency>
            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <groupId>de.saumya.mojo</groupId>
                        <artifactId>gem-maven-plugin</artifactId>
                        <version>${gem.plugin.version}</version>
                        <executions>
                            <execution>
                                <id>generate-sprite</id>
                                <goals>
                                    <goal>exec</goal>
                                </goals>
                                <phase>compile</phase>
                                <configuration>
                                    <jrubyVerbose>false</jrubyVerbose>
                                    <jrubyVersion>${jruby.version}</jrubyVersion>
                                    <execArgs>${project.build.directory}/rubygems/bin/compass compile --force
                                        ${basedir}/src/main/resources/META-INF/resources/sass/images --trace</execArgs>
                                </configuration>
                            </execution>
                            <execution>
                                <id>generate-css</id>
                                <goals>
                                    <goal>exec</goal>
                                </goals>
                                <phase>compile</phase>
                                <configuration>
                                    <jrubyVerbose>false</jrubyVerbose>
                                    <jrubyVersion>${jruby.version}</jrubyVersion>
                                    <execArgs>${project.build.directory}/rubygems/bin/compass compile --force
                                        ${basedir}/src/main/resources/META-INF/resources/sass/scss --trace</execArgs>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>generate-css-no-sprite</id>
            <repositories>
                <repository>
                    <id>rubygems-releases</id>
                    <url>http://rubygems-proxy.torquebox.org/releases</url>
                </repository>
            </repositories>
            <dependencies>
                <!-- Sass & Compass -->
                <dependency>
                    <groupId>rubygems</groupId>
                    <artifactId>compass</artifactId>
                    <version>${ruby.gem.compass.version}</version>
                    <type>gem</type>
                </dependency>
                <dependency>
                    <groupId>rubygems</groupId>
                    <artifactId>sass</artifactId>
                    <version>${ruby.gem.sass.version}</version>
                    <type>gem</type>
                </dependency>
                <dependency>
                    <groupId>rubygems</groupId>
                    <artifactId>ffi</artifactId>
                    <version>${ruby.gem.ffi.version}</version>
                    <type>gem</type>
                </dependency>
                <dependency>
                    <groupId>rubygems</groupId>
                    <artifactId>growl</artifactId>
                    <version>${ruby.gem.growl.version}</version>
                    <type>gem</type>
                </dependency>
            </dependencies>
            <build>
                <plugins>
                    <plugin>
                        <groupId>de.saumya.mojo</groupId>
                        <artifactId>gem-maven-plugin</artifactId>
                        <version>${gem.plugin.version}</version>
                        <executions>
                            <execution>
                                <goals>
                                    <goal>exec</goal>
                                </goals>
                                <phase>compile</phase>
                                <configuration>
                                    <jrubyVerbose>false</jrubyVerbose>
                                    <jrubyVersion>${jruby.version}</jrubyVersion>
                                    <execArgs>${project.build.directory}/rubygems/bin/compass compile --force
                                        ${basedir}/src/main/resources/META-INF/resources/sass/scss --trace</execArgs>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>

Generate CSS (Full).launch

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.m2e.Maven2LaunchConfigurationType">
    <booleanAttribute key="M2_DEBUG_OUTPUT" value="false"/>
    <stringAttribute key="M2_GOALS" value="clean compile"/>
    <booleanAttribute key="M2_NON_RECURSIVE" value="false"/>
    <booleanAttribute key="M2_OFFLINE" value="false"/>
    <stringAttribute key="M2_PROFILES" value="generate-css-full"/>
    <listAttribute key="M2_PROPERTIES"/>
    <stringAttribute key="M2_RUNTIME" value="Maven 3.3.9"/>
    <booleanAttribute key="M2_SKIP_TESTS" value="true"/>
    <intAttribute key="M2_THREADS" value="1"/>
    <booleanAttribute key="M2_UPDATE_SNAPSHOTS" value="false"/>
    <stringAttribute key="M2_USER_SETTINGS" value=""/>
    <booleanAttribute key="M2_WORKSPACE_RESOLUTION" value="false"/>
    <stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:/XXX-ui-jsf2}"/>
</launchConfiguration>

Windows notifications

  • Windows 7
    Windows 7 notification
  • Windows 10
    Windows 10 notification

Growl gem Rubygems.org

I've seen Growl on Ruby with Gulp on a Mac, it's working well ... I've just check the GitHub repo and there is no mention of Mac or Windows only.

I tried some other growl gems and I get the same error on various ones : Rubygems.org growl gem list

@headius
Copy link
Member

headius commented Apr 19, 2017

@Quentame Please make a git repo that we can clone and run simple commands to reproduce this. I don't think we have a complete working example from you yet, do we? I'm not familiar with these libraries, and I don't know how to set up a reproduction of your issue.

@Quentame
Copy link
Author

Sorry guys, but I couldn't get you details about the issue because it was company code.

And since I don't work for them anymore and anyone seems to get the same issue, I am gonna close it.

Thanks for you effort anyway !

@enebo enebo added this to the Invalid or Duplicate milestone Aug 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants