Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
182e3e8d
Commit
182e3e8d
authored
Nov 21, 2018
by
kaniini
Browse files
Merge branch 'feature/improve-version' into 'develop'
Improved version string See merge request
!467
parents
a591a044
bc5cf2c1
Pipeline
#4625
passed with stages
in 7 minutes and 23 seconds
Changes
6
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
config/config.exs
View file @
182e3e8d
...
...
@@ -73,18 +73,10 @@
config
:pleroma
,
:ostatus
,
Pleroma
.
Web
.
OStatus
config
:pleroma
,
:httpoison
,
Pleroma
.
HTTP
version
=
with
{
version
,
0
}
<-
System
.
cmd
(
"git"
,
[
"rev-parse"
,
"HEAD"
])
do
"Pleroma
#{
Mix
.
Project
.
config
()[
:version
]
}
#{
String
.
trim
(
version
)
}
"
else
_
->
"Pleroma
#{
Mix
.
Project
.
config
()[
:version
]
}
dev"
end
# Configures http settings, upstream proxy etc.
config
:pleroma
,
:http
,
proxy_url:
nil
config
:pleroma
,
:instance
,
version:
version
,
name:
"Pleroma"
,
email:
"example@example.com"
,
description:
"A Pleroma instance, an alternative fediverse server"
,
...
...
lib/pleroma/application.ex
View file @
182e3e8d
defmodule
Pleroma
.
Application
do
use
Application
@name
"Pleroma"
@version
Mix
.
Project
.
config
()[
:version
]
def
name
,
do
:
@name
def
version
,
do
:
@version
def
named_version
(),
do
:
@name
<>
" "
<>
@version
# See http://elixir-lang.org/docs/stable/elixir/Application.html
# for more information on OTP Applications
@env
Mix
.
env
()
...
...
lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
View file @
182e3e8d
...
...
@@ -141,7 +141,7 @@ def masto_instance(conn, _params) do
uri:
Web
.
base_url
(),
title:
Keyword
.
get
(
instance
,
:name
),
description:
Keyword
.
get
(
instance
,
:description
),
version:
"
#{
@mastodon_api_level
}
(compatible;
#{
Keyword
.
get
(
instance
,
:
version
)
}
)"
,
version:
"
#{
@mastodon_api_level
}
(compatible;
#{
Pleroma
.
Application
.
named_
version
(
)
}
)"
,
email:
Keyword
.
get
(
instance
,
:email
),
urls:
%{
streaming_api:
String
.
replace
(
Pleroma
.
Web
.
Endpoint
.
static_url
(),
"http"
,
"ws"
)
...
...
lib/pleroma/web/nodeinfo/nodeinfo_controller.ex
View file @
182e3e8d
...
...
@@ -86,8 +86,8 @@ def nodeinfo(conn, %{"version" => "2.0"}) do
response
=
%{
version:
"2.0"
,
software:
%{
name:
"p
leroma
"
,
version:
Keyword
.
get
(
instance
,
:
version
)
name:
P
leroma
.
Application
.
name
()
,
version:
Pleroma
.
Application
.
version
(
)
},
protocols:
[
"ostatus"
,
"activitypub"
],
services:
%{
...
...
lib/pleroma/web/twitter_api/controllers/util_controller.ex
View file @
182e3e8d
...
...
@@ -197,7 +197,7 @@ def config(conn, _params) do
end
def
version
(
conn
,
_params
)
do
version
=
Pleroma
.
Config
.
get
([
:instance
,
:
version
]
)
version
=
Pleroma
.
Application
.
named_
version
(
)
case
get_format
(
conn
)
do
"xml"
->
...
...
mix.exs
View file @
182e3e8d
...
...
@@ -4,7 +4,7 @@ defmodule Pleroma.Mixfile do
def
project
do
[
app:
:pleroma
,
version:
"0.9.0"
,
version:
version
(
"0.9.0"
)
,
elixir:
"~> 1.4"
,
elixirc_paths:
elixirc_paths
(
Mix
.
env
()),
compilers:
[
:phoenix
,
:gettext
]
++
Mix
.
compilers
(),
...
...
@@ -84,4 +84,51 @@ defp aliases do
test:
[
"ecto.create --quiet"
,
"ecto.migrate"
,
"test"
]
]
end
# Builds a version string made of:
# * the application version
# * a pre-release if ahead of the tag: the describe string (-count-commithash)
# * build info:
# * a build name if `PLEROMA_BUILD_NAME` or `:pleroma, :build_name` is defined
# * the mix environment if different than prod
defp
version
(
version
)
do
{
git_tag
,
git_pre_release
}
=
with
{
tag
,
0
}
<-
System
.
cmd
(
"git"
,
[
"describe"
,
"--tags"
,
"--abbrev=0"
]),
tag
=
String
.
trim
(
tag
),
{
describe
,
0
}
<-
System
.
cmd
(
"git"
,
[
"describe"
,
"--tags"
]),
describe
=
String
.
trim
(
describe
),
ahead
<-
String
.
replace
(
describe
,
tag
,
""
)
do
{
String
.
replace_prefix
(
tag
,
"v"
,
""
),
if
(
ahead
!=
""
,
do
:
String
.
trim
(
ahead
))}
else
_
->
{
nil
,
nil
}
end
if
git_tag
&&
version
!=
git_tag
do
Mix
.
shell
()
.
error
(
"Application version
#{
inspect
(
version
)
}
does not match git tag
#{
inspect
(
git_tag
)
}
"
)
end
build_name
=
cond
do
name
=
Application
.
get_env
(
:pleroma
,
:build_name
)
->
name
name
=
System
.
get_env
(
"PLEROMA_BUILD_NAME"
)
->
name
true
->
nil
end
env_name
=
if
Mix
.
env
()
!=
:prod
,
do
:
to_string
(
Mix
.
env
())
build
=
[
build_name
,
env_name
]
|>
Enum
.
filter
(
fn
string
->
string
&&
string
!=
""
end
)
|>
Enum
.
join
(
"-"
)
|>
(
fn
""
->
nil
string
->
"+"
<>
string
end
)
.
()
[
version
,
git_pre_release
,
build
]
|>
Enum
.
filter
(
fn
string
->
string
&&
string
!=
""
end
)
|>
Enum
.
join
()
end
end
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment