Grafoscopio/src/ConfigurationOfPubiblio/ConfigurationOfPubiblio.cla...

258 lines
7.5 KiB
Smalltalk

"
I am ConfigurationOfPubiblio a Metacello configuration of Pubiblio.
Pubiblio is a tool for managing Zotero bibliographies. Is part of the
Grafoscopio Project.
"
Class {
#name : #ConfigurationOfPubiblio,
#superclass : #Object,
#instVars : [
'project'
],
#classVars : [
'LastVersionLoad'
],
#category : #ConfigurationOfPubiblio
}
{ #category : #'development support' }
ConfigurationOfPubiblio class >> DevelopmentSupport [
"See the methods in the 'development support' category on the class-side of MetacelloBaseConfiguration. Decide what development support methods you would like to use and copy them the the class-side of your configuration."
<apiDocumentation>
]
{ #category : #private }
ConfigurationOfPubiblio class >> baseConfigurationClassIfAbsent: aBlock [
^Smalltalk
at: #'ConfigurationOf'
ifAbsent: [
self ensureMetacelloBaseConfiguration.
Smalltalk at: #'ConfigurationOf' ifAbsent: aBlock ].
]
{ #category : #private }
ConfigurationOfPubiblio class >> ensureMetacello [
(self baseConfigurationClassIfAbsent: []) ensureMetacello
]
{ #category : #private }
ConfigurationOfPubiblio class >> ensureMetacelloBaseConfiguration [
Smalltalk
at: #'ConfigurationOf'
ifAbsent: [
| repository version |
repository := MCHttpRepository
location: 'http://smalltalkhub.com/mc/dkh/metacello/main'
user: ''
password: ''.
repository
versionReaderForFileNamed: 'Metacello-Base-dkh.107'
do: [ :reader |
version := reader version.
version load.
version workingCopy repositoryGroup addRepository: repository ] ]
]
{ #category : #'metacello tool support' }
ConfigurationOfPubiblio class >> isMetacelloConfig [
"Answer true and the Metacello tools will operate on you"
^true
]
{ #category : #loading }
ConfigurationOfPubiblio class >> load [
"Load the #stable version defined for this platform. The #stable version is the version that is recommended to be used on this platform."
"self load"
<apiDocumentation>
^(self project version: #stable) load
]
{ #category : #loading }
ConfigurationOfPubiblio class >> loadBleedingEdge [
"Load the latest versions of the mcz files defined for this project. It is not likely that the #bleedingEdge has been tested."
"self loadBleedingEdge"
<apiDocumentation>
^(self project version: #bleedingEdge) load
]
{ #category : #loading }
ConfigurationOfPubiblio class >> loadDevelopment [
"Load the #development version defined for this platform. The #development version will change over time and is not expected to be stable."
"self loadDevelopment"
<apiDocumentation>
^(self project version: #development) load
]
{ #category : #accessing }
ConfigurationOfPubiblio class >> project [
^self new project
]
{ #category : #'development support' }
ConfigurationOfPubiblio class >> validate [
"Check the configuration for Errors, Critical Warnings, and Warnings (see class comment for MetacelloMCVersionValidator for more information).
Errors identify specification issues that will result in unexpected behaviour when you load the configuration.
Critical Warnings identify specification issues that may result in unexpected behavior when you load the configuration.
Warnings identify specification issues that are technically correct, but are worth take a look at."
"self validate"
<apiDocumentation>
self ensureMetacello.
^ ((Smalltalk at: #MetacelloToolBox) validateConfiguration: self debug: #() recurse: false) explore
]
{ #category : #baselines }
ConfigurationOfPubiblio >> baseline01: spec [
<version: '0.1-baseline'>
spec for: #'common' do: [
spec blessing: #'baseline'.
spec repository: 'http://smalltalkhub.com/mc/Offray/Grafoscopio/main/'.
spec project: 'Citezen' with: [
spec
className: #ConfigurationOfCitezen;
versionString: #'stable';
repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo50/main/' ].
spec package: #Zotero.
spec
group: 'core' with: #(#Zotero );
group: 'default' with: #('core' ). ].
]
{ #category : #baselines }
ConfigurationOfPubiblio >> baseline02: spec [
<version: '0.2-baseline'>
spec for: #'common' do: [
spec blessing: #'baseline'.
spec repository: 'http://smalltalkhub.com/mc/Offray/Grafoscopio/main/'.
spec project: 'Citezen' with: [
spec
className: #ConfigurationOfCitezen;
versionString: #'stable';
repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo50/main/' ].
spec package: #Pubiblio with: [
spec requires: #('Citezen' ). ].
spec
group: 'core' with: #(#Pubiblio );
group: 'default' with: #('core' ). ].
]
{ #category : #baselines }
ConfigurationOfPubiblio >> baseline03: spec [
<version: '0.3-baseline'>
spec for: #'common' do: [
spec blessing: #baseline.
spec repository: 'http://smalltalkhub.com/mc/Offray/Grafoscopio/main/';
package: 'Pubiblio'.
spec project: 'Citezen' with: [
spec
className: #ConfigurationOfCitezen;
versionString: #'stable';
repository: 'http://smalltalkhub.com/mc/Pharo/MetaRepoForPharo50/main/' ].
spec project: 'NeoJSON' with: [
spec
className: #ConfigurationOfNeoJSON;
versionString: #'stable';
repository: 'http://mc.stfx.eu/Neo'].
spec package: 'Pubiblio' with: [
spec requires: #('Citezen' 'NeoJSON' )].
spec
group: 'core' with: #('Pubiblio' );
group: 'default' with: #('core' )].
]
{ #category : #accessing }
ConfigurationOfPubiblio >> customProjectAttributes [
"Edit to return a collection of any custom attributes e.g. for conditional loading: Array with: #'Condition1' with: #'Condition2.
For more information see: http://code.google.com/p/metacello/wiki/CustomProjectAttrributes "
^ #()
]
{ #category : #'symbolic versions' }
ConfigurationOfPubiblio >> development: spec [
<symbolicVersion: #'development'>
spec for: #'common' version: '0.2-baseline'.
]
{ #category : #accessing }
ConfigurationOfPubiblio >> project [
^ project
ifNil: [
"Bootstrap Metacello if it is not already loaded"
self class ensureMetacello.
project := MetacelloMCProject new projectAttributes: self customProjectAttributes. "Create the Metacello project"
(Smalltalk at: #'MetacelloVersionConstructor') on: self project: project. "Construct the project"
project loadType: #'linear'. "change to #atomic if desired"
project ]
]
{ #category : #'symbolic versions' }
ConfigurationOfPubiblio >> stable: spec [
<symbolicVersion: #'stable'>
spec for: #'common' version: '0.3'.
]
{ #category : #versions }
ConfigurationOfPubiblio >> version01: spec [
<version: '0.1' imports: #('0.1-baseline' )>
spec for: #'common' do: [
spec blessing: #'stable'.
spec description: 'version 0.1'.
spec author: 'OffrayLuna'.
spec timestamp: '2/23/2017 17:12'.
spec project: 'Citezen' with: #stable.
spec package: #Zotero with: 'Zotero-OffrayLuna.5'. ].
]
{ #category : #versions }
ConfigurationOfPubiblio >> version02: spec [
<version: '0.2' imports: #('0.2-baseline' )>
spec for: #'common' do: [
spec blessing: #'stable'.
spec description: 'version 0.2'.
spec author: 'OffrayLuna'.
spec timestamp: '2/23/2017 18:27'.
spec project: 'Citezen' with: #stable.
spec package: #Pubiblio with: 'Pubiblio-OffrayLuna.2'. ].
]
{ #category : #versions }
ConfigurationOfPubiblio >> version03: spec [
<version: '0.3' imports: #('0.3-baseline' )>
spec for: #'common' do: [
spec
blessing: #'release';
package: 'Pubiblio' with: 'Pubiblio-OffrayLuna.2'.
spec
project: 'Citezen' with: #stable;
project: 'NeoJSON' with: #stable].
]