Skip to content
Marek Fišera edited this page Aug 7, 2015 · 23 revisions

This repository contains base framework libraries which are used as mscorlib extensions.

Neptuo

Main assembly used in all projects is Neptuo.dll. This assembly contains reusable multi-purpose contracts and implementations. The only reference is to System.Core and never any other reference will be added. So adding this assembly to a project doesn't trigger adding any other dependencies.

When feature library is designed, contracts and 'default', those that doesn't required any other dependecies than System.Core and dependencies required by the contracts, are always places inside main assembly. Any other implementations are placed into 'implementation specific' libraries. For e.g.:

  • '''IDependencyProvider''' contract is placed inside Neptuo, but Unity implementation, which required Unity nuget package, is placed in Neptuo.Activators.Unity.
  • '''Commands''' contracts are places inside Neptuo.Services.Commands with 'default' and dependency (container) implementations, but HTTP based implementations are placed inside Neptuo.Services.Commands.Http.

Compilation to javascript

Most of the projects are also compiled to javascript using SharpKit. This compilation is modified by SharpKit.Exugin and Neptuo.build.targets.

Because this repository contains mainly reusable components and helpers, almost all projects are usable in SharpKit-javascript development.

Neptuo.build.targets

Extends project by exporting assemblies, pds, xmldoc, javascripts and nuget packages to folder artifacts in repository root. Also be defining 'compilation constant' named 'Javascript' enables exporting library to javascript.

Clone this wiki locally