// JSON5
// Encoding: utf8
//
// doodad-js  -  Object-oriented programming framework
//    File: make.json - Make data file
//    Project home: https://github.com/doodadjs/
//    Author: Claude Petit, Quebec city
//    Contact: doodadjs [at] gmail.com
//    Note: I'm still in alpha-beta stage, so expect to find some bugs or incomplete parts !
//    Licence: Apache V2
//
//    Copyright 2015-2018 Claude Petit
//
//    Licensed under the Apache License, Version 2.0 (the \"License\");
//    you may not use this file except in compliance with the License.
//    You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
//    Unless required by applicable law or agreed to in writing, software
//    distributed under the License is distributed on an \"AS IS\" BASIS,
//    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//    See the License for the specific language governing permissions and
//    limitations under the License.
//
{
	version: "5.2.0",
	stage: "b",
	dependencies: [
		{
			name: "@doodad-js/core",
			client: true,
			server: true,
			browserify: true
		},
		{
			name: "@doodad-js/io",
			client: true,
			server: true,
			browserify: true
		}
	],
	modules: [
		{
			src: "common/Tools_Xml.js",
			client: true,
			server: true,
			browserify: true
		},
		{
			src: "common/IO_Xml.js",
			"//client": true,
			"//server": true,
			"//browserify": true
		},
		{
			src: "common/Tools_Xml_Parsers_Sax.js",
			client: true,
			server: true,
			browserify: true
		},
		{
			src: "server/Tools_Xml_Parsers_Sax_Loader.js",
			client: false,
			server: true,
			browserify: true
		},
		{
			src: "client/Tools_Xml_Parsers_Sax_Loader.js",
			client: true,
			server: false,
			browserify: false
		},
		{
			src: "common/Tools_Xml_Parsers_Libxml2.js",
			client: true,
			server: true,
			browserify: true
		},
		{
			src: "server/Tools_Xml_Parsers_Libxml2_Loader.js",
			client: false,
			server: true,
			browserify: true
		},
		{
			src: "client/Tools_Xml_Parsers_Libxml2_Loader.js",
			client: true,
			server: false,
			browserify: false
		}
	],
	tasks: {
		make: {
			operations: [
				{
					class: "Make.Generate.Package"
				},
				{
					class: "Make.Task",
					name: "install"
				},
				{
					class: "Make.Task",
					name: "browserify"
				},
				{
					class: "Make.Task",
					name: "webpack"
				}
			]
		},
		install: {
			operations: [
				{
					class: "Make.Generate.Package"
				},

				{
					class: "Make.Folder.Create",
					destination: "%INSTALLDIR%/%PACKAGENAME%/lib"
				},

				{
					class: "Make.Folder.Create",
					destination: "%INSTALLDIR%/%PACKAGENAME%/lib/libxml2"
				},
				{
					class: "Make.File.Copy",
					source: "%PACKAGEDIR%/lib/libxml2/libxml2.js",
					destination: "%INSTALLDIR%/%PACKAGENAME%/lib/libxml2/libxml2.js"
				},
				{
					class: "Make.File.Copy",
					source: "%PACKAGEDIR%/lib/libxml2/libxml2.min.js",
					destination: "%INSTALLDIR%/%PACKAGENAME%/lib/libxml2/libxml2.min.js"
				},
				{
					class: "Make.File.Copy",
					source: "%PACKAGEDIR%/lib/libxml2/Copyright",
					destination: "%INSTALLDIR%/%PACKAGENAME%/lib/libxml2/LICENSE"
				},
				{
					class: "Make.File.Copy",
					source: "%PACKAGEDIR%/lib/libxml2/AUTHORS",
					destination: "%INSTALLDIR%/%PACKAGENAME%/lib/libxml2/AUTHORS"
				},

				{
					class: "Make.Folder.Create",
					destination: "%INSTALLDIR%/%PACKAGENAME%/lib/sax"
				},
				{
					class: "Make.File.Copy",
					source: "~sax/lib/sax.js",
					destination: "%INSTALLDIR%/%PACKAGENAME%/lib/sax/sax.js"
				},
				{
					class: "Make.File.Javascript",
					source: "~sax/lib/sax.js",
					destination: "%INSTALLDIR%/%PACKAGENAME%/lib/sax/sax.min.js"
				},
				{
					class: "Make.File.Copy",
					source: "~sax/LICENSE",
					destination: "%INSTALLDIR%/%PACKAGENAME%/lib/sax/LICENSE"
				},
				{
					class: "Make.File.Copy",
					source: "~sax/README.md",
					destination: "%INSTALLDIR%/%PACKAGENAME%/lib/sax/README.md"
				}
			]
		},
		browserify: {
			operations: [
				{
					class: "Make.Generate.Package"
				}
			]
		},
		webpack: {
			operations: [
				{
					class: "Make.Generate.Package"
				}
			]
		}
	}
}