Giter Club home page Giter Club logo

project-x's People

Contributors

droath avatar marvil07 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

m8e marvil07

project-x's Issues

Keep track of Drupal UUID

When exporting Drupal configurations it's tied to a UUID based on the environment that created those configurations. If you're setting up a new Drupal instance, with project-x drupal:local-setup any configurations that are defined wont be imported due to a mismatch UUID. This creates problems!

It would be ideal for project-x to keep track of the Drupal build information like the UUID in the project-x.yml. Then when new developers are onboarded they're able to run one command to setup their environment and import any configurations that are defined in the project.

Dropped Xdebug

I just tried setting up a new project-x based project by following the instructions in istop-ng. It looks like xdebug support may have been dropped at some point between project-x 0.1.8 and 0.2.0. phpinfo() confirms that it was not installed, although many of the xdebug related environment variables are still being set.

I know this is working in 0.1.8, can you reproduce this issue? If you can't then I can tear down my project and run through set up tasks again to double check.

Support Deployment Builds

Motivation:

Need a build process to take place that would package up Drupal or any project type that project-x is aware of and deploy to a build repo hosted on GitHub.

Downgrade Symfony YAML and serializer components version

We need to use >=2.8 < 3.0 for all symfony packages. This is due to Drupal 8 only being compatible with Symfony 2.8 packages at the moment. We'll create a project-x version based on the Symfony major version moving forward.

Set host IP address dynamically on startup

Currently project-x writes the host IP address to docker-compose-dev.yml on project setup. This is not ideal because we commit docker-compose-dev.yml to version control when working on a project and IP addresses can't be relied upon like that.

Establish the host IP address as an environment variable on engine:up so that it works even after your IP address has changed.

Drupal .gitignore file is overzealous

We had a project that ran into a problem because the theme had a required file named console that was ignored by the line "console" in the base .gitignore.

I see a number of other lines that are overly specific or redundant. Some examples:

  • reports would ignore any file or directory anywhere named "reports". Doesn't seem that outlandish.
  • tmp and tmp/** are redundant. The first also isn't specific enough.

Where did this .gitignore file come from? It looks like it was added all at once in 16e9fff. Seems like we should open an issue against the original source as well.

Commands should stop on errors

I think that most commands should bail out when they encounter an error. For example:

$ vendor/bin/project-x engine:up

โžœ  Project engine is preparing for takeoff. ๐Ÿš€
+--------------------+-------------------+
| Port               | Status            |
+--------------------+-------------------+
| 80                 | โœ…                 |
| 3306               | โœ…                 |
+--------------------+-------------------+
| There is 0 warning(s) on 127.0.0.1!    |
+--------------------+-------------------+
 [Droath\RoboDockerSync\Task\DockerSync\Start] Running Docker-Sync: /usr/local/bin/docker-sync start 
 [Droath\RoboDockerSync\Task\DockerSync\Start] Running /usr/local/bin/docker-sync start 
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
       error  No docker daemon seems to be running. Did you start your docker-for-mac / docker-machine?
 [Droath\RoboDockerSync\Task\DockerSync\Start]    Time 0.887s
 [Droath\RoboDockerSync\Task\DockerSync\Start]  Exit code 1  Time 0.887s
 [File\Write] Writing to /Users/bfisher/Sites/mysite/.env.
 [File\Write] Writing to /Users/bfisher/Sites/mysite/.env.
 [Droath\RoboDockerCompose\Task\Up] Running Docker-Compose: /usr/local/bin/docker-compose  --file docker-compose.yml --file /Users/bfisher/Sites/mysite/docker-compose-dev.yml up  -d --remove-orphans 
 [Droath\RoboDockerCompose\Task\Up] Running /usr/local/bin/docker-compose  --file docker-compose.yml --file /Users/bfisher/Sites/mysite/docker-compose-dev.yml up  -d --remove-orphans 
ERROR: Couldn't connect to Docker daemon. You might need to start Docker for Mac.
 [Droath\RoboDockerCompose\Task\Up]    Time 1.035s
 [Droath\RoboDockerCompose\Task\Up]  Exit code 1  Time 1.035s
 [Filesystem\FilesystemStack] _chmod ["/Users/bfisher/Sites/mysite/docroot/sites/default/files",509,0,true]
Password:
โžœ  Added local.mysite.com to hosts file.
/usr/bin/open
 [Development\OpenBrowser] Opened http://local.mysite.com

Note the line

ERROR: Couldn't connect to Docker daemon. You might need to start Docker for Mac.

That is a helpful error message, and I think the command should stop there and let me start Docker (better yet, start the application after getting confirmation) instead of going on to the next step.

Provide basic GitHub support

Provide github commands that interact with GitHub issues, etc so when working on a project you don't have to leave the cli.

engine:up does not stop if DockerEngineType->up() fails

In the output below, despite responding "no" to the question "Do you want to continue?", project-x continues to modify the hosts file and launch a browser window.

$ ./vendor/bin/project-x engine:up

โžœ  Project engine is preparing for takeoff. ๐Ÿš€

 !                                                                                                                      
 ! [CAUTION] Another process on your system is using the same port(s).                                                  
 !           Please review the report below for more details.                                                           
 !                                                                                                                      

+--------------------+-------------------+
| Port               | Status            |
+--------------------+-------------------+
| 80                 | โŒ                 |
| 3306               | โœ…                 |
+--------------------+-------------------+
| There is 1 warning(s) on 127.0.0.1!    |
+--------------------+-------------------+
โ˜๏ธ  Do you want to continue? (y/n) [no] n
 [Filesystem\FilesystemStack] _chmod ["/Users/Remy/Sites/synchronoss/docroot/sites/default/files",509,0,true]
 1/1 [============================] 100%
โžœ  Added local.synchronoss.com to hosts file.
/usr/bin/open
 [Development\OpenBrowser] Opened http://local.synchronoss.com

The issue appears to be a missing a check for whether engineInstance()->up() has succeeded here

Support DockerSync 0.4.6

Docker sync has been updated, some utility commands have been deprecated so functionality has been moved into different tools. No longer are we going to use docker-sync-daemon as it's going to be removed in 0.5.0+.

Fix PHP strict standards warning

`$ ./vendor/bin/project-x project:init

PHP Strict Standards: Robo\Tasks and Robo\Common\IO define the same property ($io) in the composition of Droath\ProjectX\Task\GitHubTasks.`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.