{"id":19973808,"url":"https://github.com/dojo/dwb","last_synced_at":"2026-03-15T12:58:33.940Z","repository":{"id":47568413,"uuid":"1645694","full_name":"dojo/dwb","owner":"dojo","description":"Dojo 1 - the Dojo Web Builder.","archived":false,"fork":false,"pushed_at":"2022-10-04T00:17:32.000Z","size":31177,"stargazers_count":57,"open_issues_count":13,"forks_count":30,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-04-08T01:42:17.530Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://build.dojotoolkit.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dojo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-04-21T14:50:23.000Z","updated_at":"2023-09-08T16:29:10.000Z","dependencies_parsed_at":"2023-01-19T03:16:17.475Z","dependency_job_id":null,"html_url":"https://github.com/dojo/dwb","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dojo%2Fdwb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dojo%2Fdwb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dojo%2Fdwb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dojo%2Fdwb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dojo","download_url":"https://codeload.github.com/dojo/dwb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252279021,"owners_count":21722815,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-13T03:12:59.188Z","updated_at":"2026-03-15T12:58:33.881Z","avatar_url":"https://github.com/dojo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Dojo Web Builder\n================\n\nThe Dojo Web Builder provides a web interface to the dojo build system,\nallowing a user to generate custom toolkit builds using just their web browser. \n\nThis project contains the source code behind the hosted solution provided by\nThe Dojo Toolkit at [http://build.dojotoolkit.org](http://build.dojotoolkit.org).\n\nThe project is divided into two logical components, a front-end Dojo application\nand the backend RESTful interface to the build system. For usage details see the \nsections below. \n\nUsage\n-----\n\nMaven is used as the build manager for the project. It has been configured for\nquickstart with minimal configuration using an embedded Jetty plugin, see details below. \n\nTo connect the application, once running, point your web browser \nat [http://localhost:8080/](http://localhost:8080/).\n\nIn addition, the application is not tied to these\nplatforms, allowing you to build a WAR file and deploy to the application\nserver of your choice. \n\n### Quickstart with Jetty\n\t$ mvn -Ddojo.source=/some/path/to/dojo-1.6-source jetty:run\n\n### Quickstart with Jetty, using older Dojo release\n\t$ mvn -Ddojo.source=/some/path/to/dojo-1.5-source -Ddojo.version=1.5.0 jetty:run\n\n### Quickstart with Jetty, setting build cache path \n    $ mvn -Dcachepath=/tmp/ -Ddojo.source=/some/path/to/dojo-source jetty:run\n\nConfiguration \n-----\n\nConfigurable application parameters are set using Java system properties. Users \ncan modify these values using the -D command line argument. _The only mandatory \nproperty is the dojo source location_. Both the _dojo.source_ and _cachepath_ parameters\nsupport the use of environment variables, using the %env\\_name% format.\n\n### Mandatory Parameters \n\n* _dojo.source_ - Directory location for the source release of the Dojo Toolkit\n  version you want to build. Source folder must contain the correct version of dojo expected\n  by the project, see _dojo.version_ parameter below.\n\n### Optional Parameters \n\n* _dojo.version_ - Change the version of the Dojo Toolkit being exposed by the\nproject. Currently supported versions are: 1.6.0 (default), 1.5.0. Default version\nis set in the _pom.xml_ file. \n\n* _cachepath_ - Specify the custom build cache directory. By default, this\nis a different temporary directory each time the application is started. This \nvalue can also be set using a context parameter in the application's _web.xml_.\n\nSupporting custom modules\n----\n\nThe Dojo Web Builder supports serving up custom modules you've created alongside\nmodules from the Dojo Toolkit. These modules will be exposed alongside the normal\nDojo Toolkit modules in the web application, allowing users to create custom\nbuilds using your own modules. To configure the tool to serve up your local module \nfiles, follow the steps below...\n\n### Generate package descriptor for custom modules\n    $ cd src/main/resources/package_scripts/\n    $ rhino generateNewPackageMetaData.js ~/code/js/custom_modules_root/\n\n### Create package \u0026 version directory in package repository\n    $ mkdir ../../config/packages/custom_modules\n    $ mkdir ../../config/packages/custom_modules/1.0.0\n\n### Copy custom package descriptor to package repository \n    $ cp package.json ../../config/packages/custom_modules/1.0.0\n\n### Run Dojo Web Builder as normal\n\nThe _src/main/config/packages/_ directory contains the package meta-data files. Packages to be served\nare identified by the presence of a child directory. Each package directory must contain at least one \nversion directory. Version directories contain the package modules descriptor files. Multiple versions \nof the same package are allowed, the web application automatically uses the most recent version.\n\nTo support a different version of Dojo, use the steps above to generate the package descriptor and place\nin a new version directory under the _src/main/config/packages/dojo_ path. Then use the _dojo.version_ \nparameter to modify the default version of Dojo served.\n\nDeploying Multiple Versions of Dojo \n----\n\nThe Dojo Web Builder also supports building for multiple versions of The Dojo\nToolkit concurrently, allowing the user to choose the version they need\ndynamically. To achieve this, ensure you have downloaded local copies of all the\nversions of the toolkit you want to expose and then configure the application using \nthe steps below.... \n\nCurrently, package descriptor files are included for Dojo 1.8.0. If you need to expose an older version, please generate the package\ndescriptor, as per the instructions above. \n\n### (Optional) Generate package descriptors for older versions of Dojo \n    See description above and package in src/main/config/packages/dojo/X.Y.Z/. Note \n    that you need to uncomment the \"DOJO-CONFIG\" lines in generateNewPackageMetaData.js.\n\n### Fill in location parameter for all version packages\n    $ vim src/main/config/packages/dojo/${dojo.version}/package.json\n    $ \u003creplace location field value with directory path\u003e\n\n### Run Dojo Web Builder WITHOUT normal dojo.source parameter \n    $ mvn jetty:run\n\nDevelopment notes\n---\n\n### Layout \n\nThe project uses Maven's \n[standard directory layout](http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html) \nto organise source files. Front-end application code lives in _src/main/webapp_ and the \nbackend API code lives in _src/main/java_. \n\n### Profiles\n\nMaven profiles are used to assist with development, details below. To change the \ncurrent profile, use the -PprofileName parameter when running the application. \n\n* _standard (default)_ - Quick start using optimised client-side code layer, debug mode turned off.\n\n* _release_ - Same as _standard_ but triggers a full-rebuild of the client-side code, copying generated\nresources to JS directories before starting application.\n\n* _dev_ - Debug mode turned on, uses source JavaScript modules uncompressed and unoptimised.\n\nUse the -Pdebug mode during front-end development or module changes won't show up! \n\n### Testing\n\nThe project has an integration test suite used for verifying the API works as expected. These tests \nmust be run against a deployed version of the application. To run the the tests against localhost, use\nthe following commands \n\n    $ mvn -Ptest test\n\nThe following system parameters (-D) can be used to modify the API endpoint used for testing. \n\n* _test.host_ - Hostname (default: \"localhost\")\n\n* _test.port_ - Port (default: \"8080\")\n\n* _test.path_ - Path to application (default: \"\")\n\n* _test.protocol_ - Protocol (default: \"http\")\n\n\nDependencies\n------------\n\n### Backend \n\n* Java, version 1.5.0 or above\n\n* Application server, supporting _servlet-2.5_ container \n\n### Frontend \n\nThe Dojo Web Builder is tested on the following web browsers \n\n* Chrome 10+\n\n* Firefox 3.6+\n\n* IE7+ \n\nFeedback\n--------\n\nFile bug reports at [http://bugs.dojotoolkit.org](http://bugs.dojotoolkit.org) \nor contact [James Thomas](http://github.com/jthomas) [(thomasj @ twitter)](http://twitter.com/thomasj) for anything else.\n\nTODO\n--\n\n* Support AMD module format natively within build and analysis tools. At the moment we use a build time \ntransformation. \n\n* Extract out Dojo dependent functionality, transforming the tool into a generic AMD module builder. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdojo%2Fdwb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdojo%2Fdwb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdojo%2Fdwb/lists"}