{"id":20509028,"url":"https://github.com/abeluck/workspace-factory","last_synced_at":"2026-06-29T02:31:25.849Z","repository":{"id":8732391,"uuid":"10406685","full_name":"abeluck/workspace-factory","owner":"abeluck","description":"Eclipse workspace factory for Android projects","archived":false,"fork":false,"pushed_at":"2014-04-09T16:03:13.000Z","size":144,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-02T15:05:22.658Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/abeluck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-05-31T14:38:50.000Z","updated_at":"2014-04-09T16:03:14.000Z","dependencies_parsed_at":"2022-08-19T04:50:06.310Z","dependency_job_id":null,"html_url":"https://github.com/abeluck/workspace-factory","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/abeluck/workspace-factory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abeluck%2Fworkspace-factory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abeluck%2Fworkspace-factory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abeluck%2Fworkspace-factory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abeluck%2Fworkspace-factory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/abeluck","download_url":"https://codeload.github.com/abeluck/workspace-factory/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/abeluck%2Fworkspace-factory/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34911134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-29T02:00:05.398Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T20:21:53.443Z","updated_at":"2026-06-29T02:31:25.825Z","avatar_url":"https://github.com/abeluck.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Eclipse Workspace Factory\n\nManaging multiple Eclipse workspaces is a PITA. Let's make it easier.\n\n**Create a new blank workspace for Android dev** or\n```bash\n    mkdir /path/to/my/new-workspace\n    workspace copy android-template /path/to/my/new-workspace\n```\n\n**Update the settings from one workspace to another**\n\n```bash\n    workspace copy /path/to/workspace-foo /path/to/workspace-bar\n```\n\n**REQUIRES ECLIPSE \u003e= JUNO**\n\n## More words\n\nThe Android build system sucks, particularly Eclipse+ADT's interaction with library projects.\n\n(Not convinced? See larger discussion [in our mailing\nlist](https://lists.mayfirst.org/pipermail/guardian-dev/2013-April/001530.html))\n\n\nThere is a semi-sane way to juggle Eclipse, ADT, and Ant for projects with\nmultiple library projects. The answer is to use per-app workspaces. Managing\nEclipse workspaces is a PITA though. Keeping settings synch between them is a\nreal bitch.\n\n**Eclipse Workspace Factory** is essentially a glorified `cp` command to help\ncreate new eclipse workspaces from a pre-configured template.\n\n## Features\n\nThe included `android-workspace` is preconfigured with the following settings:\n\n* Official Android Java Code Formatter settings\n* Official Android Save Actions w/ Import Organizing\n* 1.6 as the default Java compiler\n\n### Usage\n\n\n1. Clone this baby:\n\n    ```bash\n        git clone https://github.com/abeluck/workspace-factory.git\n    ```\n\n2. Create your own workspace template:\n\n    ```bash\n        cd workspace-factory/\n        cp  android-workspace my-workspace\n    ```\n\n3. Configure your workspace template by opening eclipse and changing the workspace to `my-workspace`.\n\n    Change any global settings you want: Android SDK location,\n    code formatter, compiler settings, save actions, etc.\n\n    Close eclipse when you're finished.\n\n4. Deploy a workspace\n\n    ```bash\n        mkdir ~/src/new/project/path\n        ./workspace copy my-workspace ~/src/new/project/path/\n    ```\n\n## Recommended Android Project Layout\n\nThis is for Android projects that use multiple external Android library\nprojects.\n\n1. One workspace per application\n2. Git repo root is your workspace\n3. Android library projects go in /external\n4. Application itself goes in /app\n\nExample project structure with multiple apps\n\n    ~/src                     (contains your git checkouts)\n    -----/FooBarApp           (the cloned git repo \u0026 workspace!)\n    ---------------/app       (App source code)\n    ---------------/external  (dependency submodules)\n    ------------------------/ActionBarSherlock\n    -----/PineappleFiestaApp\n    ---------------/app\n    ---------------/external\n\nExample projects using this layout:\n\n* [StoryMaker](https://github.com/guardianproject/mrapp)\n* [PixelKnot](https://github.com/guardianproject/PixelKnot)\n\nFrom a fresh git clone, follow this procedure to setup eclipse:\n\n1. Create new workspace in eclipse at the root of the git repo\n2. For each library project in external/\n       Import \"Existing Android Code Into Workspace\"\n3. For the app/ project\n       Import \"Existing Projects into Workspace\" (the non-Android one under the General section)\n4. Happy dance\n\n### Reasoning\n\n1. Per-project workspace allows apps to use different versions of the\nsame libraries\n2. Eclipse projects can be easily imported from included .project files\n3. ADT requires projects exist in the workspace for relative library\nproject referencing to work\n4. Developers don't have to juggle local changes to the\nproject.properties file\n\n### What this doesn't solve\n\nAll the problems with conflicting jars, multiple android-support library\nversions still exist, but oh well. At least we can hate Eclipse a little\nless.\n\n\n## Credits\n\nBased on workspace copying script by Tomas Kramar \u003ckramar.tomas@gmail.com\u003e 2008\n\n## Issues\n\nFound a bug? Please create an issue here on GitHub!\n\nhttps://github.com/abeluck/workspace-factory/issues\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabeluck%2Fworkspace-factory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabeluck%2Fworkspace-factory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabeluck%2Fworkspace-factory/lists"}