I have built a sub-theme for a customer back in April and at the time, the version 2.7 was the latest stable release and therefore the choice for the customer. I am still maintaining this theme and I have to bring other developers online to do the same thing. But I also start new projects and there I'd like to get started from version 3.

Therefore here a couple of questions:

How can I get the old and new version work side by side on the same maschine? I'm using Ubuntu as my operating system, just in case that makes any difference.

How can I get compass and compass-aurora installed with the older version for the Aurora 2.7 theme?

Hope there are solutions for that and thank you for your help.

Comments

Snugug’s picture

jurgenhaas’s picture

Status: Fixed » Active

I'm so sorry I missed that, I knew I saw it somewhere before.

I followed the instructions and now I get compile errors in the old 2.7 version:

Error 1 when using @include grid-span(6, 1, $output-style: 'float');: sass/style.scss (Line 116 of sass/partials/layout/_layout.scss: Mixin grid-span doesn't have an argument named $output_style.)

Error 2 when using @include isolation-span(12, 1, 'both');: sass/style.scss (Line 124 of sass/partials/layout/_layout.scss: Undefined mixin 'isolation-span'.)

I'm sure I should add something to the Gemfile but I couldn't find what exactly should go in there. Would you mind pointing me in the right direction?

Snugug’s picture

Please post your Gemfile contents.

jurgenhaas’s picture

I used the Gemfile from the projects page for version 2.7. This is what's in it:

# Pull gems from RubyGems
source 'https://rubygems.org'

# ~> Refers to all versions of the given gem on the current full version number, so it will be able to use any version of Compass Aurora until Compass Aurora 4.x.x. For a specific version of a gem, remove the ~>
gem 'compass-aurora', '~>3.0.0'
gem 'toolkit', '~>1.0.0'
gem 'singularitygs', '~>1.0.7'
gem 'breakpoint', '~>2.0.2'
gem 'sassy-buttons', '~>0.1.4'
gem 'compass-normalize', '~>1.4.3'
gem 'css_parser', '~>1.3.4'

# Now that you're using Bundler, you need to run `bundle exec compass watch` instead of simply `compass watch`.
Snugug’s picture

Status: Active » Postponed

The issue you're having is that, while you took the Gemfile from Aurora 3.x.x, you're trying to use it for the old versions of gems. Those gem versions are too new for what you're trying to use. #1970044: Bundle example for compass-aurora (one of the previously pointed out issues) has a Gemfile that works with Aurora 2.x

Snugug’s picture

Status: Postponed » Fixed
jurgenhaas’s picture

Stupid me, I copied the Gemfile from the wrong project which of course was version 3. Here is the content of the version 2 project and it still fails with the errors mentioned above.

source 'https://rubygems.org'
gem 'toolkit', '~>0.2.0'
gem 'compass-aurora', '>=1.1.1'
gem 'breakpoint', '~>1.0'
gem 'susy', '1.0.8'
gem 'singularitygs', '0.0.17'
gem 'respond-to', '2.6'
jurgenhaas’s picture

Status: Fixed » Active
Snugug’s picture

Did you do bundle install? Are you running your compilation through bundle exec?

bundle exec compass compile

bundle exec compass watch

jurgenhaas’s picture

Yes, i did both bund l e install and bundke exec comoass compile

Snugug’s picture

Status: Active » Fixed

Taking a look at the exact error you're having and the gems you're using, the problem is you're trying to do two contradictory things: you are both at the same time trying to use the newest versions of the gems and trying to keep the old version of the same gems in the same project.

The errors you're getting are due to backwards-incompatible API changes between Singularity 0.x and Singularity 1.x. Specifically, your Gemfile is saying to use Singularity 0.x while your code is 1.x code. Singularity 1.x also requires Breakpoint 2.x, which has backwards-incompatible changes from Breakpoint 1.x, which you've likewise specified in your Gemfile. It also breaks compatibility with the previous Respond-to gem, which has been updated and moved into Breakpoint 2.x, requiring you to drop Respond-to.

Now all of this being said, if you are OK with making these changes, you can change your Gemfile to the following, run bundle update, and it will move you to the new versions of these gems and solve the error you've posted (I've also removed Susy as you appear to be using Singularity).

source 'https://rubygems.org'
gem 'toolkit', '~>0.2.0'
gem 'compass-aurora', '>=1.1.1'
gem 'breakpoint', '<3.0.0'
gem 'singularitygs', '<2.0.0'

I warn you, though, that if you have any old Singularity, Breakpoint, or Respond-to code in your codebase when you do this, or any Susy code, it will break, and at that point there is nothing I am able to do for you as it would appear as if you have combined code from two incompatible versions of gems in a single codebase.

jurgenhaas’s picture

Thanks @Snugug, it is now working as it did before and I understand your warning. No idea, how I got into this trouble though.

Maybe I can help to improve the documentation in return for your outstanding support? I wonder if it's worth to collect a list of Gem's with their versions, features and (in)compatibilities. If so, please let me know how I could get started.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.