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

Wondering why installation of a specific bower asset is incomplete #147

Closed
holtkamp opened this issue Sep 8, 2015 · 11 comments
Closed

Wondering why installation of a specific bower asset is incomplete #147

holtkamp opened this issue Sep 8, 2015 · 11 comments
Labels

Comments

@holtkamp
Copy link

holtkamp commented Sep 8, 2015

  • add "bower-asset/fullcalendar": "~2.4" to composer.json
    • run composer update => works, a folder 'dist' is created
  • add "bower-asset/fullcalendar-scheduler": "~1.0" to composer.json
    • run composer update => does not work, no folder is created

When using bower directly it DOES work: bower install fullcalendar-scheduler. Does the Composer Asset Plugin not support converting the used coffeescript to javascript? The bower asset that is installed properly, already contains a 'dist' folder: https://github.com/fullcalendar/fullcalendar/tree/master/dist, so I assume this is where something goes wrong / is not supported. I checked the FAQ and existing issues but could not find a relevant entry..

@francoispluchino
Copy link
Member

@francoispluchino
Copy link
Member

Sorry, I misunderstood. Indeed, the plugin only download the sources.

@francoispluchino
Copy link
Member

I just did the tests with version 1.0.3 of this plugin, and the dist folder with its contents is present.

Is it ok for you now?

@holtkamp
Copy link
Author

Hey, yeah indeed for "bower-asset/fullcalendar-scheduler": "~1.0" now a folder dist is created with the .css and .js, great!

Only I am trying to understand, what changed? Version 1.0.3 https://github.com/francoispluchino/composer-asset-plugin/tree/v1.0.3 has not been changed since 29-07-2015... Also https://github.com/fullcalendar/fullcalendar-scheduler/tree/v1.0.0 seems not changed.

I am happy it works, but don't understand why ;), closing issue but if you can shed some light on this magic?

@francoispluchino
Copy link
Member

The master branch of fullcalendar-scheduler haven't the dist folder, on the other hand, the tag v1.0.0 have the dist folder.

If you use the minimum-stability option with dev value in your root Composer package, Composer will download the master branch, and not the v1.0.0 stable version.

@holtkamp
Copy link
Author

Mm, ok, I guess I celebrated too early, I made a mistake when checking: I manually created a dist folder with the required .css and .js files after reporting this issue. I forgot this and now thought it the folder was created / it works: oops!

I DO have "minimum-stability": "dev" in my composer.json, but since I refer to the ~1.0 version, it will install the stable branch tagged with 1.0.0.

The strange thing is that this tagged branch does have the dist folder...

Composer output:

  - Installing bower-asset/fullcalendar (v2.4.0)
    Loading from cache
    Extracting archive

    REASON: bower-asset/fullcalendar-scheduler v1.0.0 requires bower-asset/fullcalendar >=2.4.0 -> satisfiable by bower-asset/fullcalendar[v2.4.0, dev-master].

  - Installing bower-asset/fullcalendar-scheduler (v1.0.0)
    Loading from cache
    Extracting archive

Resulting directory structure:

screen shot 2015-09-19 at 22 21 02

There is a difference in the bower.json files, maybe that is the cause of the problem?

@holtkamp holtkamp reopened this Sep 19, 2015
@francoispluchino
Copy link
Member

Can you give me your composer.json?

@holtkamp
Copy link
Author

Well, I reduced it down to the most minimal composer.json that goes "wrong" 😄

{
  "require": {
    "bower-asset/fullcalendar-scheduler": "~1.0"
  }
}

Environment:

  • composer: 9f2e562e48145f10bf224f93f561e762df980638 (updated today 21-09-2015)
  • globally installed fxp/composer-asset-plugin: @stable (resolved to 1.0.3)
> composer install  --verbose -vv
Loading composer repositories with package information
Installing dependencies (including require-dev)
Adding VCS repository bower-asset/fullcalendar-scheduler
Reading bower.json of bower-asset/fullcalendar-scheduler (v1.0.0)
Importing tag v1.0.0 (1.0.0.0)
Adding VCS repository bower-asset/jquery
Adding VCS repository bower-asset/moment
Adding VCS repository bower-asset/fullcalendar
Reading bower.json of bower-asset/jquery (2.1.4)
Importing tag 2.1.4 (2.1.4.0)
Reading bower.json of bower-asset/jquery (2.1.3)
Importing tag 2.1.3 (2.1.3.0)
Reading bower.json of bower-asset/jquery (2.1.2)
Importing tag 2.1.2 (2.1.2.0)
Reading bower.json of bower-asset/jquery (2.1.1)
Importing tag 2.1.1 (2.1.1.0)
Reading bower.json of bower-asset/jquery (2.1.0)
Importing tag 2.1.0 (2.1.0.0)
Reading bower.json of bower-asset/jquery (2.0.3)
Importing tag 2.0.3 (2.0.3.0)
Reading bower.json of bower-asset/jquery (2.0.2)
Importing tag 2.0.2 (2.0.2.0)
Reading bower.json of bower-asset/jquery (2.0.1)
Importing tag 2.0.1 (2.0.1.0)
Reading bower.json of bower-asset/jquery (2.0.0)
Importing tag 2.0.0 (2.0.0.0)
Reading bower.json of bower-asset/jquery (1.11.3)
Importing tag 1.11.3 (1.11.3.0)
Reading bower.json of bower-asset/jquery (1.11.2)
Importing tag 1.11.2 (1.11.2.0)
Reading bower.json of bower-asset/jquery (1.11.1)
Importing tag 1.11.1 (1.11.1.0)
Reading bower.json of bower-asset/jquery (1.11.0)
Importing tag 1.11.0 (1.11.0.0)
Reading bower.json of bower-asset/jquery (1.10.2)
Importing tag 1.10.2 (1.10.2.0)
Reading bower.json of bower-asset/jquery (1.10.1)
Importing tag 1.10.1 (1.10.1.0)
Reading bower.json of bower-asset/jquery (1.10.0)
Importing tag 1.10.0 (1.10.0.0)
Reading bower.json of bower-asset/jquery (1.9.1)
Importing tag 1.9.1 (1.9.1.0)
Reading bower.json of bower-asset/jquery (1.9.0)
Importing tag 1.9.0 (1.9.0.0)
Reading bower.json of bower-asset/jquery (1.8.3)
Importing tag 1.8.3 (1.8.3.0)
Reading bower.json of bower-asset/jquery (1.8.2)
Importing tag 1.8.2 (1.8.2.0)
Reading bower.json of bower-asset/jquery (1.8.1)
Importing tag 1.8.1 (1.8.1.0)
Reading bower.json of bower-asset/jquery (1.8.0)
Importing tag 1.8.0 (1.8.0.0)
Reading bower.json of bower-asset/jquery (1.7.2)
Importing tag 1.7.2 (1.7.2.0)
Reading bower.json of bower-asset/jquery (1.7.1)
Importing tag 1.7.1 (1.7.1.0)
Reading bower.json of bower-asset/moment (2.10.6)
Importing tag 2.10.6 (2.10.6.0)
Reading bower.json of bower-asset/moment (2.10.5)
Importing tag 2.10.5 (2.10.5.0)
Reading bower.json of bower-asset/moment (2.10.3)
Importing tag 2.10.3 (2.10.3.0)
Reading bower.json of bower-asset/moment (2.10.2)
Importing tag 2.10.2 (2.10.2.0)
Reading bower.json of bower-asset/moment (2.9.0)
Importing tag 2.9.0 (2.9.0.0)
Reading bower.json of bower-asset/moment (2.8.4)
Importing tag 2.8.4 (2.8.4.0)
Reading bower.json of bower-asset/moment (2.8.3)
Importing tag 2.8.3 (2.8.3.0)
Reading bower.json of bower-asset/moment (2.8.2)
Importing tag 2.8.2 (2.8.2.0)
Reading bower.json of bower-asset/moment (2.8.1)
Importing tag 2.8.1 (2.8.1.0)
Reading bower.json of bower-asset/moment (2.8.0)
Importing tag 2.8.0 (2.8.0.0)
Reading bower.json of bower-asset/moment (2.7.0)
Importing tag 2.7.0 (2.7.0.0)
Reading bower.json of bower-asset/moment (2.6.0)
Importing tag 2.6.0 (2.6.0.0)
Reading bower.json of bower-asset/moment (2.5.1)
Importing tag 2.5.1 (2.5.1.0)
Reading bower.json of bower-asset/moment (2.5.0)
Importing tag 2.5.0 (2.5.0.0)
Reading bower.json of bower-asset/fullcalendar (v2.4.0)
Importing tag v2.4.0 (2.4.0.0)
Analyzed 227 packages to resolve dependencies
Analyzed 442 rules to resolve dependencies
  - Installing bower-asset/moment (2.10.6)
    Downloading: 100%         
    Extracting archive

    REASON: bower-asset/fullcalendar-scheduler v1.0.0 requires bower-asset/moment >=2.5.0 -> satisfiable by bower-asset/moment[2.10.6, 2.10.5, 2.10.3, 2.10.2, 2.9.0, 2.8.4, 2.8.3, 2.8.2, 2.8.1, 2.8.0, 2.7.0, 2.6.0, 2.5.1, 2.5.0].

  - Installing bower-asset/jquery (2.1.4)
    Downloading: 100%         
    Extracting archive

    REASON: bower-asset/fullcalendar-scheduler v1.0.0 requires bower-asset/jquery >=1.7.1 -> satisfiable by bower-asset/jquery[2.1.4, 2.1.3, 2.1.2, 2.1.1, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 1.11.3, 1.11.2, 1.11.1, 1.11.0, 1.10.2, 1.10.1, 1.10.0, 1.9.1, 1.9.0, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.2, 1.7.1].

  - Installing bower-asset/fullcalendar (v2.4.0)
    Downloading: 100%         
    Extracting archive

    REASON: bower-asset/fullcalendar-scheduler v1.0.0 requires bower-asset/fullcalendar >=2.4.0 -> satisfiable by bower-asset/fullcalendar[v2.4.0].

  - Installing bower-asset/fullcalendar-scheduler (v1.0.0)
    Downloading: 100%         
    Extracting archive

    REASON: Required by root: Install command rule (install bower-asset/fullcalendar-scheduler v1.0.0)

Writing lock file
Generating autoload files

Resulting directory listing (missing ./vendor/bower-asset/fullcalendar-scheduler/dist):

screen shot 2015-09-21 at 10 24 04

@francoispluchino
Copy link
Member

See my first comment.

There is an inconsistency between patterns of Bower ignore and Symfony Finder. You can replace manually the filter for the moment.

{
    "require": {
        "bower-asset/fullcalendar-scheduler": "~1.0"
    },
    "extra": {
        "asset-ignore-files": {
            "bower-asset/fullcalendar-scheduler": [
                "*",
                "!dist/*",
                "!bower.json",
                "!LICENSE.md"
            ]
        }
    }
}

@holtkamp
Copy link
Author

Mm, ok, your second comment made me not dive into that part so much, sorry.

Now it works indeed!

There is an inconsistency between patterns of Bower ignore and Symfony Finder.

Might be useful to add that to the documentation / known issues.

Apparently this section is interpreted differently by Symfony Finder, resulting in removing the files for fullcalendar-scheduler:

  "ignore": [
    "*",
    "**/.*",
    "!/dist/*.js",
    "!/dist/*.css",
    "!/CHANGELOG.*",
    "!/LICENSE.*",
    "!/README.*"
  ]

Since the ignore section of fullcalendar does work with both Bower and Symfony Finder, I will suggest to change it for the fullcalendar-scheduler as well.:

  "ignore": [
    "*",
    "**/.*",
    "!/dist/**",
    "!/changelog.*",
    "!/license.*",
    "!/readme.*"
  ]

@holtkamp
Copy link
Author

FYI, this is now fixed fullcalendar/fullcalendar-workspace#21

Inconsistency incomposer-asset-plugin remains however, should be marked as 'known issue'?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants